Почему скорость выполнения запросов к sqlite-базе уменьшается?
Всем привет.
Есть проект, работает с базой sqlite.
Локальный комп - i5, озу - 4гига, ссд-винт.
Сервер - Intel Xeon E3-1220v2/SSD/RAM 16 Gb
пхп версии, локально 7.0.10, а на серваке 7.0.8
Проект один и тот же, что локально, что на серваке. Но скорость выполнения задания почти в 2 раза отличается.
Версия локально sqlite - 3.8.11 , а на серваке 3.11.1. Не думаю, что в этом вопрос, но всё же.
Суть работы задания в системе - поиск существующих значений, если не находим добавляем новое значение. И вот после 10К записи значений в таблице поиск и запись новых начинается потихоньку проседать(на сервере). на 20к(записей) скорость добавления и поиска в сравнении с локальными данные запуска, отличается в 2-3 раза.
Данные читаю порциями через "batch", пишу тоже порциями по 100(batchinsert)
Для быстрой записи использую параметры :
PRAGMA synchronous=0
PRAGMA journal_mode=WAL
PRAGMA count_changes=OFF
транзакции я использую, все операции на чтение и поиск выполняются в одной транзакции В чём может быть причина такого проседания по скорости работы в проекте ?
Для теста запустил простой скрипт,на сервере - 1000000 inserts in 8.338 secs (119934.9 q/s) local machine - 1000000 inserts in 17.291 secs (57834.3 q/s) код скрипта - pastebin.com/CFWd1DAw