SQLite очень медленно работает с большими файлами - PullRequest
0 голосов
/ 05 мая 2018

У меня есть файл базы данных с 21,5 ГБ, и я пытаюсь выполнить некоторые запросы к данным, но он не отвечает. Он застрял в обработке запроса без результата в конце концов. Даже простой запрос для подсчета количества строк в таблице не работает.

При ограничении запроса небольшим числом он работает нормально. Как то так

select * from Table limit 30.

Проблема заключается в попытке выполнить запрос по всей таблице. Это застревает. Мне интересно, есть ли какая-либо оптимизация, которую я могу сделать, чтобы я мог запросить весь набор данных.

Кто-нибудь знает лучший способ запроса такого большого файла?

Заранее спасибо.

1 Ответ

0 голосов
/ 05 мая 2018

Убедитесь, что вы все делаете правильно! Вы используете предопределенные заявления? * SQLITE 3.7.3

  1. Сделки
  2. Предварительно сделанные заявления
  3. Применить эти настройки (сразу после создания БД

    PRAGMA main.page_size = 4096; PRAGMA main.cache_size=10000; PRAGMA main.locking_mode=EXCLUSIVE; PRAGMA main.synchronous=NORMAL; PRAGMA main.journal_mode=WAL; PRAGMA main.cache_size=5000;

больше информации в этом Вопросе

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