我正在为我目前正在开发的 iPhone 应用程序使用 SQLite 支持的核心数据存储。
我想知道 iPhone 上的 SQLite 是如何处理数据库维护的?基于服务器的 RDBMS 系统通常需要定期碎片整理和统计更新等,以确保一致的性能。我不确定这在移动设备上是如何处理的。
这在 iOs 和 SQLite 中是如何处理的?开发人员是否需要做任何事情,或者是否全部自动处理?
我的数据库最多包含 100,000 条记录,每天大约有 500 次插入或删除。
最佳答案
SQLite 有 ANALYZE
命令来更新统计数据,但它不太可能对像您这样的小型数据库产生太大影响。您可以查看 EXPLAIN QUERY PLAN
是否有任何区别。 (无论如何,它不会造成伤害。)
要进行碎片整理,您可以使用 VACUUM
命令。然而,在基于闪存的存储上,与数据库因完全重组而阻塞的时间相比,碎片问题要小得多。
在实践中,数据库维护几乎不值得在手持设备上费心。
关于iphone - SQLite 核心数据性能随时间的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12449667/