Оптимизация операторов Bulk Select для SQLite - PullRequest
0 голосов
/ 14 января 2012

У меня есть таблица базы данных:

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

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

SELECT Value
FROM Tablename

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

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

1 Ответ

0 голосов
/ 14 января 2012

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...