Есть программка, которая делает сотни миллионов insert в SQLite в QSqlQuery через prepare. Transaction есть, закрываю на каждые несколько сотен тысяч вставок. Вопрос, какие варианты есть это ускорить без выключения механизмов надежности базы? Там пара не сложных таблиц, и запросы insert идут вперемешку с другими запросами. Ускорит ли если я переделаю, что insert в одну таблицу будут идти последовательно пачками, или это не играет роли? Или если переделаю на непосредственный sqlite3_exe с callback? Есть пара запросов update, ускорит ли их, если обновлять буду пачками в последовательности возрастания primary key, или не влияет?
Используются PRAGMA TEMP_STOR=MEMORY и PRAGMA JOURNAL_MODE=PERSIST.
Наблюдается неприятная штука, что вставка пока таблицы меньше 100тыс записей идет раз в двадцать быстрее чем когда они уже за пару миллионов записей. Может здесь есть какая-нибудь переиндексация?