Подтвердить что ты не робот

Есть ли более быстрый способ перебора строк из запроса Sqlite?

Я использую следующие строки для цикла в строках запроса Sqlite.

this.open(); // opening db
Cursor cursor = db.rawQuery(strQuery, null);

cursor.moveToFirst();
do {    

    // do something    

} while (cursor.moveToNext());

cursor.close();

Когда число строк составляет около 15000, требуется много времени. Требуется около 4 секунд для пустого while блока и около 6 секунд для блока while, который имеет некоторые коды. Он показывает, что итерация по строкам таким образом занимает много времени.

Есть ли более быстрый способ для цикла в строках в android и Sqlite?

Спасибо,

4b9b3361

Ответ 1

Оптимизация того, что вы делаете внутри цикла, - единственный способ повысить скорость всей операции. Например, если вы выполняете вызовы getColumnIndex на каждой итерации, вы потеряете драгоценное время. Сделайте это один раз, сохраните значение.

Используйте traceView, чтобы найти место, где вы теряете время и улучшаете его там. К сожалению, я не могу дать конкретного ответа, так как я не знаю, что вы делаете внутри цикла.


Отслеживание трассировки