iphone - SQLite 核心数据性能随时间的变化

标签 iphone ios performance sqlite core-data

我正在为我目前正在开发的 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/

相关文章:

iphone - 如何为每周一和周五等特定日期设置 UINotification?

iphone - 我如何将 NSData 转换为 const uint8_t?或者在通过 Wifi 传递 NSData 时出现错误

ios - 快速从多个 View 获取数据

ios - 如何修复被角半径覆盖的文本字段

java - 与命令行相比,为什么我的应用程序在 IntelliJ 中运行得更快?

performance - 关于loadrunner中的web_reg_find()

ios - 在 iOS 中显示隐藏 View

iphone - 将 NSDate 转换为 Sql Server 日期时间格式

ios - 如何在 objc_weak_error 上设置中断

r - data.table : how to improve performance 中的扩展窗口(累积计算)