SQLite数据库中删除数据后,文件大小没有变化
我用SQLite Developer可视化工具创建了数据库和表,在表里插入了一百万的数据,可是我把数据删除后,文件大小仍然不变,网上搜了很多资料,都说执行命令PRAGMA auto_vacuum ,真不知道在SQLite Developer里怎么执行这个命令,我执行了:PRAGMA auto_vacuum = 1(在SQLite Developer里执行),可是还是木有变化,真不知怎么搞了。
Access也有类似的问题,但压缩和修复后可以减小文件大小
------解决方案--------------------他们不会自己自动收缩空间的,需要额外的压缩,所以access提供了压缩方法
------解决方案--------------------基本数据库系统都被设计成这样。因为移动数据减少文件尺寸对性能有很大的影响。
------解决方案--------------------随便说出另外十种可以正式商用的数据库(不仅仅关系数据库,面向对象数据库、NoSql数据库也算),您能够说出那一种数据库在删除数据后文件大小会变小的呢?
全都是这样的。这是数据库原理(磁盘块如何保存数据、如何维系和使用空闲空间)的基本常识。
------解决方案--------------------就拿MSSQL来说,当你建立一个新数据库时,其实就已经分配了该数据库所占空间大小,mdf,ldf等文件大小