SQLite 的VACUUM 命令通过复制主数据库中的内容到一个临时数据库文件,然后清空主数据库,并从副本中重新载入原始的数据库文件。这消除了空闲页,把表中的数据排列为连续的,另外会清理数据库文件结构。
为什么需要vacuum:
当你从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据,用于提 高效率,磁盘空间并没有丢失,但也不向操作系统返回磁盘空间,这就导致删除数据乃至清空整个数据库后,数据文件大小还是没有任何变化,还是很大。
VACUUM命令复制主数据库文件到临时数据库并从临时数据库重新载入主数据库,以整理数据库文件。这将除去空白页,使表数据彼此相邻排列,并整理数据库文件结构。
手动 VACUUM:
对整个数据库发出 VACUUM 命令的语法:
F:\sqlite3>sqlite3 database_name "VACUUM";
在 SQLite 提示符中运行 VACUUM,如下所示:
sqlite> vacuum;
在特定的表上运行 VACUUM,如下所示:
sqlite> vacuum table_name;
自动VACCUM(Auto-VACUUM):
SQLite 的 Auto-VACUUM 与 VACUUM 不大一样,它只是把空闲页移到数据库末尾,从而减小数据库大小。通过这样做,它可以明显地把数据库碎片化,而 VACUUM 则是反碎片化。所以 Auto-VACUUM 只会让数据库更小。
本站由于服务器资源有限,也是使用的SQLite,目前数据库大小1mb多一点,做了这个工具用来压缩数据库
使用方法 将软件放在数据库所在目录,将软件名称更改为数据库名+瘦身.exe
例如,你的数据库完整文件名是“woshishujuku.db” 那么请将软件名名称改成“woshishujuku.db瘦身.exe”
然后双击,软件即可检测到数据库名称,点击瘦身按钮即可
评论 (0)