我有一个应用程序,它将数据存储在SQLite数据库中。当应用程序刚安装时,它使用8kb的数据,当我开始插入数据时,显然大小会增加。奇怪的是,当我开始清理我的数据库表时,我完全清空了数据库,但我永远无法恢复前8kb的数据,而是会增加更多的数据量,在某些情况下甚至超过100kb,这些数据是从哪里来的?
数据库并不像文件系统,因此当你从数据库中删除数据时,并不能恢复之前使用的空间。数据库驱动程序通常会选择保留旧的分配空间。
你可以通过手动执行SQLite的VACUUM命令来压缩数据库,从而恢复这些空间。
在创建数据库之前可能可以启用auto_vacuum模式。