Я выполняю некоторые запросы на выборку с SQLite. Столбцы уже проиндексированы. Запросы в формате:
SELECT stuff FROM table WHERE haystack LIKE "%needle%"
Я также загружаю БД в память, запустив RESTORE FROM my_db.db
, и это, кажется, работает (используемая память увеличивается)
Проблема в том, что запросы, подобные приведенным выше, все еще занимают много времени (около 100 мс), и мне нужно выполнить много из них (тысячи за раз), что означает, что результаты могут достигать нескольких минут.
Однако, пока выполняются запросы, я вижу очень низкую загрузку ЦП - около 25-35% в среднем по всем ядрам.
Я думаю, что SQLite может каким-то образом снизить свою производительность и не использовать весь процессор.
Есть ли способ заставить его не дросселировать и использовать все системные ресурсы, чтобы запросы выполнялись быстрее?
Спасибо.