Уважаемый коллега-разработчик, по какой-то причине обновление 1720 записей занимает около 15 секунд на диске SSD (особенно при включенной обрезке).
Я подправил настройки sqlite, используя следующий документ (который работает хорошо)
http://web.utk.edu/~jplyon/sqlite/SQLite_optimization_FAQ.html
У меня есть следующий набор PRAGMA для оптимизации производительности, и я действительно использую транзакции вокруг полного набора обновлений.
sqlite3_exec(database, "PRAGMA cache_size=500000;", nil, nil, nil);
sqlite3_exec(database, "PRAGMA synchronous=OFF", nil, nil, nil);
sqlite3_exec(database, "PRAGMA count_changes=OFF", nil, nil, nil);
sqlite3_exec(database, "PRAGMA temp_store=MEMORY", nil, nil, nil);
Похоже, что SSD делает слишком много (например, удаление блоков и т. Д.), Что делает его блокированным на 15 секунд для простого обновления 1720 записей.
Довольно странно: вставка 2500 записей происходит практически мгновенно.
Можете ли вы помочь мне и дать несколько советов, как это исправить?