sqlite3删除数据,文件不变小问题解决

sqlite3数据库中的数据过大时,我们往往想通过删除一些无用的数据来释放空间,可遗憾的是删除数据并不能释放硬盘空间,数据库不会自己自动收缩空间的

需要额外的压缩命令,基本数据库系统都被设计成这样。因为移动数据减少文件尺寸对性能有很大的影响。正式商用的数据库(不仅仅关系数据库,面向对象数据库

Nosql数据库也算),全都是这样的。

这是数据库原理(磁盘块如何保存数据、如何维系和使用空闲空间)的基本常识。 但sqlite3可以在删除数据后,执行vacuum指令,强制压缩空间,语法如下:


Vacuum 表名

其中表名,就是你刚才删除数据后的表名,执行 Vacuum 命令后,sqlite3文件大小就变小了。



http://blog.163.com/danshiming@126/blog/static/1094127482014414112120443/

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能