告诉我是什么导致了这种现象:我有一个 Sqlite 数据库,我将一些数据写入到某个表中,然后我使用查询删除了不必要的行:
cmd.CommandText = string.Format("DELETE FROM Smile_Data WHERE SMALL_NAME = '{0}'", asset.Value);
cmd.ExecuteNonQuery();
cmd.Transaction.Commit();
在数据库浏览器中检查了 SQLite - 已删除的数据不在我的表中,但是数据库文件大小没有改变。我正在使用 C#。System.Data.Sqlite。
从数据库中删除时,记录不会被物理删除,而只是标记为已删除。这样做是为了最大限度地减少执行数据库操作所需的时间。如果你想减小大小,那么在删除数据命令之后,“打包”你的数据库。为此,请使用VACUUM命令: