Я использую объединенную версию 3.27.0, скомпилированную с SQLITE_DEFAULT_SYNCHRONOUS=0
, которая должна совпадать с выполнением PRAGMA synchronous=off
(но я не выполняю это утверждение в моем коде, так как я предполагал, что настройка макроса будет соблюдена).
Произошла печально известная задержка INSERT
после установки количества строк.Завершение в BEGIN/COMMIT
решило проблему, согласно FAQ и этому ответу , но мне интересно.* SQLITE_DEFAULT_SYNCHRONOUS
игнорируется при компиляции объединения (то есть я не должен замечать задержку с выключенным синхронным режимом)?,Это не так, когда я смотрю в исходный код.Кроме того, я включаю WAL
в базе данных с помощью PRAGMA journal_mode=WAL
, что должно еще больше ускорить вставки, но, возможно, это изменит прагму synchronous
?
EDIT: если я выполню PRAGMA synchronous
в моей программе sqlite возвращает 0
.