本文主要是介绍我删除了很多数据但是数据库文件并没有减小,是不是 Bug,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
不是的。当你从 SQLite 删除数据之后,未使用的磁盘空间被添加到一个内在的“空闲列表”中用于存储你下次插入的数据。磁盘空间并没有丢失,但是也不向操作系统返回磁盘空间。如果你删除了大量的数据且想要减小数据库文件,执行 VACUUM命令。VACUUM 命令会清空“空闲列表”,把数据库尺寸缩到最小。注意, VACUUM 会耗费一些时间(在 Linux 系统下大约0.5秒/兆)并且要使用两倍于数据库文件大小的磁盘空间。
对于SQLite version 3.1, 替代VACUUM命令的一个方法是auto-vacuum模式,用 auto_vacuum pragma语法开启该模式。
这篇关于我删除了很多数据但是数据库文件并没有减小,是不是 Bug的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!