SQLite删除后没有释放内存

时间:2014-02-07 20:54:28

标签: sqlite

英语借口

我使用SQLite并测试它。插入数百万行以测试速度。并在任何插入后删除行。

但我知道我的数据库大小是33.0 MB .....现在数据库是空的。但磁盘上的大小为33 MB。 的 WHY吗

你可以帮帮我吗?

1 个答案:

答案 0 :(得分:8)

  

VACUUM命令可重建整个数据库。有几个   应用程序可能会这样做的原因:

     

除非SQLite以“auto_vacuum = FULL”模式运行,否则当从数据库文件中删除大量数据时,它会留下   空白空间或“免费”数据库页面。这意味着数据库文件   可能比严格必要的更大。运行VACUUM以重建   数据库回收此空间并减小数据库的大小   文件。

https://www.sqlite.org/lang_vacuum.html