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