SQLite 데이터베이스에서 메모리에 10,000 개의 행을로드하는 가장 빠른 방법은 무엇입니까? 각 행에는 1 개의 텍스트와 4 개의 정수가 있습니다. 현재이 작업을 수행하고 있습니다.SQLite 데이터베이스에서 10000 개의 행을로드하는 가장 빠른 방법은 무엇입니까?
while(!cursor.isAfterLast()) {
cursor.copyStringToBuffer(column_index_1, buffer);
cursor.copyStringToBuffer(column_index_2, buffer);
cursor.copyStringToBuffer(column_index_3, buffer);
cursor.copyStringToBuffer(column_index_4, buffer);
cursor.copyStringToBuffer(column_index_5, buffer);
cursor.moveToNext();
}
위의 코드는 Galaxy Nexus에서 약 750ms가 걸립니다. 오래된 장치의 경우 몇 배 느려질 수 있습니다. 빨리 할 수 있을까요?
(이 시점에서 "왜 행을 메모리에로드해야합니까?"와 같은 내용을 입력하는 것 같습니다. 조금 복잡하지만 누군가 관심이 있는지 설명 할 수 있습니다. 편집 : 여기 설명 : https://gist.github.com/fhucho/af355d56ae3145e3e30f)
찾을 수 있습니다! 설명 해주십시오. :) –
@KenWolf ok, 몇 분 후에 설명에 대한 링크를 게시합니다 :) – fhucho
행의 모든 열이 동일한 버퍼에 복사되면 "select col1 ||"과 같은 SQL 문을 작성해보십시오. col2 || ... "를 사용하여 sqlite가 연결을 수행하도록합니다. 이것은 더 빠르거나 빨라질 수도 있습니다. –