3

我正在将客户端应用程序部署到数千台 Windows 机器上。每台机器都会使用一个 sqlite 数据库作为本地数据存储,最终将数据写入远程服务器。因此,随着时间的推移,sqlite 数据库不会真正增长超过几 MB,因为数据将被添加然后删除。SQLite 应该是零管理的,但是我是否需要偶尔运行一些任务,例如分析/更新统计信息/检查一致性等?或者我可以假设一旦有 sqlite 数据库,它就可以使用几年而不用担心,也不会损坏?

如果有这样的任务,我会在我的应用程序中构建流程以偶尔运行它们,但目前我不确定这是否有必要/推荐。

4

1 回答 1

3

SQLite 有一个 VACUUM 命令,它将压缩已删除的条目并减少碎片和文件大小。删除与插入的数量确实决定了应该多久执行一次。它通常很快,并不总是必要的。

最好的办法是设置一些脚本来模拟您在生产中的预期活动。在您最喜欢的电子表格中拍摄文件大小和图表的快照。如果经过 10 年的模拟活动,没有问题,那么您的使用模式不需要 VACUUM。

于 2010-02-15T19:11:57.377 回答