读书人

(!)清空sqlite数据库中所有表后磁

发布时间: 2012-09-01 09:33:02 作者: rapoo

(求助!)清空sqlite数据库中所有表后,磁盘空间占用仍然很大,求解???
作了一个数据采集程序,使用sqlite作为数据库,运行一段时间后,保存数据5G,然后用数据库管理工具清空所有表之后,发现该数据库文件仍然占用磁盘空间5G。。。。。
请教一下这是什么现象????多谢了

[解决办法]
SQLITE当你删除记录或者表时不会自动释放文件所占用的空间,需要执行 VACUUM
[解决办法]
sqlite3 VACUUM

more info: sqlite.org

终端进入数据库

#sqlite3 test.db

在数据库里面查看该数据库是否会自动压缩空间

#sqlite>PRAGMA auto_vacuum;

手动压缩

#sqlite>VACUUM;

在建立表之前,可以设置属性通过以下command

#sqlite>PRAGMA auto_vacuum = 0 | 1; (0 默认属性,关闭。1打开自动压缩)

ps:修改属性一定要在建立表之前,之后是没有效果的。

读书人网 >其他数据库

热点推荐