내 테이블에 인덱스가없는 일부 열이 있는데 SQLite가 전체 테이블 검색을 수행하기 때문에 이러한 열의 값을 검색하는 데 시간이 오래 걸릴 수 있습니다.SQLite : 테이블 스캔 최적화
내 특정 경우에는 내가 찾고있는 행 (값이 고유함)은 거의 항상 최근에 삽입 된 것입니다.
SQLite가 스캔을 수행 할 때 가장 오래된 (첫 번째) 행부터 시작한다고 의심합니다. SQLite가 역순으로 테이블 스캔을 수행하도록 지시하는 방법이 있습니까?
UPDATE
:이 나는 변경 내역이 발견 : 이렇게하면 BY ... DESC 절 주문을 만족하는 경우 옵티마이 저는 이제 역으로 테이블을 스캔.
어쩌면 이것은 내가 속도를 올리기 위해 ORDER BY 절을 추가 할 수 있음을 의미합니다.
거의 항상 그렇습니까? '내가 찾는 행은 가장 최근에 삽입 된 행의 대부분이다. ' – Tim
고마워, 나는 그것을 고쳤다. – Muis
DESC에 의한 정렬은 SQLite가 일치하는 것을 찾으면 행 검색을 중단시키지 않습니다. 해당 열에서 값이 고유하면 첫 번째 일치 항목을 찾은 후에 추가 일치 항목이 없는지 계속해서 검색합니다. 아래 내 제안 사항을 참조하십시오. – Tim