从表中逻辑删除数据,但sqlitedb文件大小仍然相同



我正在使用sqlite数据库。我创建了新的数据库,并在事务中执行了20K行的批量插入,然后提交了事务。

稍后我准备好删除查询

delete from Table

删除后,我打开了SQlite Db浏览器,检查表中的数据是否删除。表中的数据已删除。但是文件的大小仍然与执行删除查询之前的文件大小相同。

从逻辑上讲,正如我在DbBrowser中验证的那样,表中并没有元组。但是sqlite.db的大小大约是4MB。我该如何解决这个问题。

这个关于VACUUM的文档帮助了我的问题

VACUUM命令重建数据库文件,将其重新打包到最小的磁盘空间中。

VACUUM命令的工作方式是将数据库的内容复制到临时数据库文件中,然后用临时文件的内容覆盖原始文件。

相关内容

  • 没有找到相关文章

最新更新