#TIL: SQLite: VACUUM的硬盘写入量很大

WARNING: This article may be obsolete
This post was published in 2021-02-02. Obviously, expired content is less useful to users if it has already pasted its expiration date.


之前写的一篇word.app硬盘写入量观察文章:


我的电脑上运行着一些自动化脚本,会定期执行一些任务。

在一次浏览 Activity Monitor.app 的时候,我偶然发现其中一个自动化脚本程序拥有着非常高的硬盘写入量。

经过检查,如此高的硬盘写入量来自SQLite  VACUUM https://sqlite.org/lang_vacuum.html)的频繁使用。(我在代码里滥用了这个命令)

我做了一个额外测试:

对一个100MB的SQLite DB文件:

执行第1次 VACUUM ,硬盘写入量240MB

马上执行第2次 VACUUM ,硬盘写入量480MB;

马上执行第3次 VACUUM ,硬盘写入量720MB;

马上执行第4次 VACUUM ,硬盘写入量960MB;

......

所以,如果你在自己的个人电脑上处理体积较大的SQLite文件,还是尽量在代码里减少 VACUUM 的使用频率吧。


 Last Modified in 2021-08-26 

Leave a Comment Anonymous comment is allowed / 允许匿名评论