我应该在sqlite数据库上执行哪些管理任务(如果有的话)?

时间:2010-02-15 18:38:23

标签: sqlite database-administration

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

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

1 个答案:

答案 0 :(得分:3)

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

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