이것은 알려진 질문이지만 내가 찾은 최고의 솔루션은 다음과 같습니다.
SELECT TOP N *
FROM MyTable
ORDER BY Id DESC
행이 많은 테이블이 있습니다. 시간이 많이 걸리기 때문에 해당 쿼리를 사용할 가능성은 없습니다. ORDER BY를 사용하지 않고 마지막 N 행을 선택하려면 어떻게해야합니까?
편집하다
id
인덱스 된 경우 해당 인덱스를 반대로 스캔하고 처음 5 개 행 이후에 중지합니다. 색인화되지 않은 경우 TOP N
정렬 을 수행해야합니다 . 이것은 다른 방법보다 나쁘지 않습니다. 전체 테이블을 정렬하지는 않습니다 (전체 테이블을 스캔해야 함)