我正在为我正在开发的iPhone应用程序使用SQLite支持的核心数据存储。
我想知道如何在iPhone上使用SQLite处理数据库维护?基于服务器的RDBMS系统通常需要定期碎片整理和统计信息更新等,以确保一致的性能。我不确定这是如何在移动设备上处理的。
如何在iOs和SQLite中处理这个问题。开发人员是否需要做任何事情,或者是否全部自动处理?
我的数据库最多包含100,000条记录,每天约有500条插入或删除。
答案 0 :(得分:2)
SQLite有ANALYZE
命令来更新statstics,但它不太可能在像你这样的小型数据库中产生很大的影响。您可以查看EXPLAIN QUERY PLAN
是否有任何差异。 (无论如何,它不会受到伤害。)
要进行碎片整理,您可以使用VACUUM
命令。但是,在基于闪存的存储上,与完全重组阻塞数据库的时间相比,碎片问题要小得多。
在实践中,数据库维护几乎不值得在手持设备上打扰。