【问题标题】:WAL synchronization NORMAL vs. OFFWAL 同步 NORMAL 与 OFF
【发布时间】:2017-11-29 00:44:35
【问题描述】:

在 WAL 的原始文档中,FULLNORMAL 同步之间的区别已明确说明1

写入事务非常快,因为它们只涉及写入 内容一次(相对于回滚日志事务两次)和 因为写入都是顺序的。此外,将内容同步到 磁盘不是必需的,只要应用愿意 在断电或硬重启后牺牲耐用性。 (作家 如果设置了 PRAGMA 同步,则在每次事务提交时同步 WAL 为 FULL,但如果 PRAGMA 同步设置为 NORMAL,则忽略此同步。)

但我无法在 WAL 模式下找到PRAGMA synchronous = OFF 的效果。我怀疑它与NORMAL 相同。谁有知情的答案?

【问题讨论】:

    标签: sqlite wal


    【解决方案1】:

    documentation 还说:

    在同步为NORMAL(1)的WAL模式下,WAL文件在每个检查点之前同步,数据库文件在每个完成的检查点之后同步,当WAL文件在检查点之后开始被重用时同步WAL文件头.

    所以使用OFF,正常交易没有区别,但任何checkpoint都会不安全。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      • 2011-12-30
      • 2022-01-27
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      相关资源
      最近更新 更多