【问题标题】:SQLCipher Database size keeps on growing even after deleting records from tableSQLCipher 数据库大小在从表中删除记录后继续增长
【发布时间】:2015-06-10 17:39:58
【问题描述】:

我的 Android 应用程序使用 SQLCipher 进行数据库加密,根据我的项目要求,我需要将位图字符串存储在我的本地数据库中,一旦成功上传到服务器就需要从数据库中删除。但是在这里我遇到了一个非常奇怪的 SQLCipher 问题,即即使从表中删除所有图像字符串后,我的应用程序的数据库大小并没有减少而是增加了。 例如我的数据库的初始大小是 45 KB 表大小为 30 个图像字符串,变为 2.91 MB 而且,从表中删除 30 张图像后,大小增加到 3.04 MB

但是,当我使用普通 SQLite 数据库(即没有 SQLCipher 加密)执行相同的情况时,我得到了预期的结果,即从表中删除图像后,db size 2.91 减少到 50 KB。

请帮忙...

【问题讨论】:

    标签: android database sqlite sqlcipher-android


    【解决方案1】:

    删除值后使用

    db.execSQL("VACUUM");
    

    这背后的原因是,当您从表中删除值时,值会被删除,但它们的引用仍然存在

    【讨论】:

      猜你喜欢
      • 2017-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      • 2023-03-09
      相关资源
      最近更新 更多