Sqlite WAL同步正常与关闭
在WAL的原始文件中,明确说明了Sqlite WAL同步正常与关闭,sqlite,wal,Sqlite,Wal,在WAL的原始文件中,明确说明了完全和正常同步之间的区别: 写入事务非常快,因为它们只涉及写入 内容一次(而回滚日志事务为两次)和 因为写操作都是顺序的。此外,将内容同步到 只要应用程序愿意,就不需要磁盘 在断电或硬重启后牺牲耐久性。(作家) 如果设置了PRAGMA synchronous,则在每个事务提交时同步WAL 如果PRAGMA synchronous设置为NORMAL,则忽略此同步。) 但是我在WAL模式下找不到任何地方PRAGMA synchronous=OFF的效果。我怀疑它与正常
完全
和正常
同步之间的区别:
写入事务非常快,因为它们只涉及写入
内容一次(而回滚日志事务为两次)和
因为写操作都是顺序的。此外,将内容同步到
只要应用程序愿意,就不需要磁盘
在断电或硬重启后牺牲耐久性。(作家)
如果设置了PRAGMA synchronous,则在每个事务提交时同步WAL
如果PRAGMA synchronous设置为NORMAL,则忽略此同步。)
但是我在WAL模式下找不到任何地方PRAGMA synchronous=OFF
的效果。我怀疑它与正常的相同。有人知道答案吗?还说:
在同步正常(1)的WAL模式中,WAL文件在每个检查点之前同步,数据库文件在每个完成的检查点之后同步,WAL文件头在检查点之后开始重用时同步
因此,关闭时,正常事务没有区别,但任何事务都是不安全的