【问题标题】:Clarification regarding journal_size_limit in SQLite关于 SQLite 中 journal_size_limit 的说明
【发布时间】:2013-05-14 15:32:17
【问题描述】:

如果我设置journal_size_limit = 67110000 (64 MiB),我将能够:

  1. 处理/提交超过该值的事务(不太可能)
  2. 能够成功执行VACUUM(即使数据库有 3 GiB 或更多)

VACUUM 命令通过将数据库内容复制到 一个临时数据库文件,然后用 临时文件的内容。覆盖原件时, 使用回滚日志或预写日志 WAL 文件 适用于任何其他数据库事务。这意味着当 VACUUMing 一个数据库,原来的大小是原来的两倍 可用磁盘空间中需要数据库文件

文档中并不完全清楚,如果有人能确定地告诉我,我将不胜感激。

【问题讨论】:

    标签: sqlite transactions pragma journal journaling


    【解决方案1】:

    journal_size_limit 不是事务日志的上限;这是非活动事务日志的上限。

    事务完成后,不需要日志,但是删除日志可以使事情变得更快,因为文件系统不需要释放这些数据然后为下一个事务重新分配它.

    此设置的目的是限制未使用日志数据的大小。

    【讨论】:

    • Inactive 是这里的关键字,谢谢您清除它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多