【问题标题】:Data deleting logically from table but still sqlite db file size same从表中逻辑删除的数据,但 sqlite db 文件大小仍然相同
【发布时间】:2020-06-09 14:15:24
【问题描述】:

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

后来我执行了删除查询

delete from Table

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

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

【问题讨论】:

  • 在我的情况下,每当用户同步数据时,都会创建 4 mb。所以每天的数据库大小增加了 4mb。
  • 也许VACUUM 上的这个文档可以帮助您解决这个问题。

标签: c# sql database sqlite database-design


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    相关资源
    最近更新 更多