问题描述:
sqlite中删除了大量数据后,数据库文件的大小没有变。
update更新数据库,文件大小翻倍。
原因及预分配实现:
当你从sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据。磁盘空间并没有丢失。但是也不向操作系统返回磁盘空间。
其实这个有好有不好,好的地方就是相当于预分配了空间,不去删除磁盘空间,这样就加快硬盘访问的速度.
实现真正删除数据和注意的问题:
1. sqlite操作全部完成后,执行VACUUM命令。
2. 在删除过程中有可能导致磁盘访问减慢。