SqLite 压缩数据库空闲空间的详细操作(数据库虚胖问题)

当从SQLite删除数据后,空闲空间不会返回给操作系统,而是保留在内部空闲列表。通过使用`vacuum`命令,可以手动压缩数据库以减小文件大小。在Windows上,可以使用sqlite3.exe命令行工具或者数据库管理工具如Navicat Premium来执行此操作。此外,创建表时可以设置`PRAGMA auto_vacuum`来开启或关闭自动压缩。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       讲解开始前,先说明一下这个问题的原因:

                sqlite采用的是变长纪录存储,当你从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据,用于提高效    率,磁盘空间并没有丢失,但也不向操作系统返回磁盘空间,这就导致删除数据乃至清空整个数据库后,数据文件大小还是没有任何变化,还是很大   

   以上解释是引用第三方的,我这里主要说的是详细操作(windows平台),不讲理论。

   在不使用第三方工具(例如:Navicat Premium)的情况下,你得下载sqlite的原命令行工具(sqlite-tools

 我下的是(sqlite-tools-win32-x86-3190000),下完找个位置解压,直接复制里面的sqlite3.exe 出来用就

 可以了,然后把你要压缩的数据库拷贝到和sqlite3.exe文件的同级目录下:

   1.打开 sqlite3.exe

   2.在弹出的命令行界面内输入: .open  数据库名.db(你的数据库)  后Enter下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值