답변:
항상 ORDER BY
절 을 사용해야합니다 . 그렇지 않으면 순서가 임의적입니다.
효율적인 페이징을 수행하려면 순서가 지정된 필드의 첫 번째 / 마지막 표시된 값을 저장하고 다음 페이지를 표시 할 때 바로 뒤에 계속합니다.
SELECT *
FROM MyTable
WHERE SomeColumn > LastValue
ORDER BY SomeColumn
LIMIT 100;
(이것은 SQLite 위키에 더 자세히 설명되어 있습니다 .)
여러 정렬 열 (및 SQLite 3.15 이상)이있는 경우이를 위해 행 값 비교 를 사용할 수 있습니다 .
SELECT *
FROM MyTable
WHERE (SomeColumn, OtherColumn) > (LastSome, LastOther)
ORDER BY SomeColumn, OtherColumn
LIMIT 100;