首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

(!)清空sqlite数据库中所有表后,磁盘空间占用仍然很大,求解?

2012-09-01 
(求助!)清空sqlite数据库中所有表后,磁盘空间占用仍然很大,求解???作了一个数据采集程序,使用sqlite作为数

(求助!)清空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:修改属性一定要在建立表之前,之后是没有效果的。

热点排行