使用 SQLiteMan 删除记录后“压缩” SQL 数据库

使用 SQLiteMan 删除记录后“压缩” SQL 数据库

我正在使用 SQLiteMan 编辑/删除 Skype 消息历史记录,就像网络上许多指南中所述的那样。即我main.db使用 SQLiteMan 打开我的配置文件文件夹中的 Skype 文件,并有选择地删除messages表中的某些记录。SQLiteMan 允许我手动或使用 SQLDELETE语句执行此操作。表面上看,一切都按预期进行:记录被删除,Skype 不再在其历史记录中显示已删除的消息。

但是,网上的任何 Skype 历史记录管理指南似乎都没有提到一个小问题。记录并没有从 中物理删除main.db,而是标记为“已删除”(从数据库管理的角度来看,这当然是合理的)。在二进制编辑器中打开后,可以看到已删除记录的内容在文件中仍然清晰可见。正如预期的那样,无论我删除多少记录,文件main.db的大小都不会改变。main.db

当然,从隐私/安全的角度来看,这是不可接受的。

那么,在上述“软”删除之后,有没有办法强制物理删除不需要的记录?有没有办法“压缩”物理 SQL 数据库文件?或者,有没有办法让 SQL 引擎将“软”删除的记录的内容清零,使其无法读取?

相关内容