sqlite игнорирует определение SQLITE_DEFAULT_SYNCHRONOUS? - PullRequest
0 голосов
/ 15 февраля 2019

Я использую объединенную версию 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.

...