C'est une question connue mais la meilleure solution que j'ai trouvée est quelque chose comme:
SELECT TOP N *
FROM MyTable
ORDER BY Id DESC
J'ai une table avec beaucoup de lignes. Il n'est pas possible d'utiliser cette requête car cela prend beaucoup de temps. Alors, comment puis-je faire pour sélectionner les N dernières lignes sans utiliser ORDER BY?
ÉDITER
Désolé, question dupliquée de celle-ci
id
est indexé, il analysera simplement cet index en sens inverse et s'arrêtera après les 5 premières lignes. S'il n'est pas indexé, il devra effectuer un TOP N
tri. Ce ne sera pas pire que toute autre façon de le faire. Il ne trie pas la table entière (bien qu'il faudrait scanner la table entière)