2012-01-14 2 views
0

У меня есть таблицы базы данных:Оптимизация Bulk Выберите заявления для SQLite

id INTEGER PRIMARY KEY 
, X INTEGER 
, Y INTEGER 
, Value INTEGER 

Есть 1,050,625 записей, и я их называю, используя

SELECT Value 
FROM Tablename 

Я просто хочу, чтобы все записи из четвертого столбца. Моя функция хранит их в массиве, но получение всех этих данных занимает около пяти минут.

Есть ли более быстрый способ получить эти данные?

ответ

0

увеличить кеш sqlite через PRAGMA cache_size=<number of pages>. используемая память: <number of pages><size of page>. (который может быть установлен через PRAGMA page_size=<size of page>)

, установив эти значения на 16000 и 32768 соответственно (или около 512 МБ), я смог получить объемную нагрузку этой одной программы от 20 минут до 2 минут. (хотя я думаю, что если диск в этой системе был не таким медленным, это могло бы не иметь такого эффекта)

, но у вас может не быть этой дополнительной памяти на меньших встроенных платформах, я не рекомендую увеличивать это так же, как и я, но для систем настольных компьютеров или ноутбуков это может очень помочь.

Смежные вопросы