关于sqlite3删除表内数据后,数据库大小仍然不 变的问题
2018-01-05 20:10
330 查看
最近由于项目的需要,用到了sqlite3数据库相关的操作。因为之前用的是QT中自带的,不是用C语言来操作,不过总的来说相差不大。之前是在 操作数据库过程中,会导致内存不断的增加。后来是发现操作的过程中很多内存没有释放。但是最近又有新的问题是,在我删除表中的数据后,发现数据库文件的大小仍然不变,而且下次打开数据库后,发现仍然占用着系统的内存。找了很多方法,终于让我找到了根本原因。原来是因为从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据。磁盘空间并没有丢失。但是也不向操作系统返回磁盘空间。需要手动执行VACUUM命令进行删除。
记住,如果在做其他操作或者有事务操作的时候,VACUUM命令会执行失败。
记住,如果在做其他操作或者有事务操作的时候,VACUUM命令会执行失败。
相关文章推荐
- sql server 删除大量数据,数据库大小不变问题
- Jfinal 连接oracle数据关于数据库大小的问题
- Android;sql数据库:关于删除数据库数据无法刷新listview并且新listview的修改增加功能出现bug的问题
- java关于向数据库存入文件大小受限制的问题.
- 解决sqlite删除数据后,文件大小不变问题
- 关于将数据库中的bit型数据绑定到DataGrid中的CheckBox的Checked属性的问题。
- MES操作数据库后数据显示的一点小问题,关于DataView的rowfilter
- 关于备份由 Mapinfo EasyLoader 上传到数据库的空间数据的问题
- 关于数据库自增ID数据写入问题的解决
- Mysql:关于数据库数据读写的乱码问题
- 在可编辑表格EditorGrid中,我选择一行已输入的数据,点击删除按钮,该行数据将被删除,然后当我点击表单提交按钮时,已经被删除的那一行数据仍然被插入数据库中
- 关于SGA与memory_target 大小冲突照成数据库无法挂载问题
- 关于textarea标签输出数据库数据时出现大量空格导致格式不一致的问题
- asp.net关于分页上的数据删除问题
- ORA-01157与ORA-01110错误以及删除数据文件后数据字典中仍然存在问题
- 关于JBPM4.4无法删除历史数据的问题
- 关于“重复数据删除”技术的十大问题 推荐
- 关于大量数据写入数据库的性能问题
- 关于类得数据成员的大小问题。求解。
- ASP.NET关于分页上的数据删除问题