SQLite-重置数据库大小作者:时鹏亮 | 更新时间:10/30/2015 06:55:50请知悉:本文最近一次更新为 9年 前,文中内容可能已经过时。SQLite数据库在delete数据之后大小是不会变动的,这个时候就要用下面的指令来释放清除未使用的空间从而达到重置大小的功能。VACUUM如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)如愿意,请向朋友推荐本站,谢谢。 尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。与《SQLite-重置数据库大小》相关的博文:SQLite3-对NULL值的判定与更新SQLite3单引号等字符转义SQLite实现MySQL的ORDER BY FIND_IN_SET
VACUUM 语句及 pragma auto_vacuum 参数有一些坑,在 sqlite.org 上有介绍。例如 VACUUM 需要两倍于原数据库大小的磁盘空间,以及执行过程中常见的 <10MiB/s 的处理速度,对于中型以上的数据库会有短时服务中断的问题。auto_vacuum 参数则会随着使用时间增加使得数据碎片化。
https://sqlite.org/lang_vacuum.html