ios - NSManagedObjectContext 的 countForFetchRequest 需要很长时间才能获得更大的对象图

标签 ios magicalrecord

对于由 sqlite 数据库支持的基于 CoreData 的 iOS 应用程序。对于包含 150 万条或更多记录的实体,使用 NSManagedObjectContextcountForFetchRequest 方法大约需要 1 分钟。

有没有办法在稍微短一点的时间内得到计数?

虽然人们选择基于该实体中的插入/删除的内存计数器,但如果需要通过 iTunes 将该 sqlite 数据库从一台 iOS 设备复制到另一台设备,这将无济于事,因为 iOS 应用程序启用了文件共享.
sqlite数据库存放在Documents目录下。

对此有什么想法吗?

最佳答案

计数的速度取决于您的谓词。谓词越复杂,计数越慢。

请编辑您的问题并显示谓词,以便我们可以帮助您提高其性能。

其次,您是否通过仪器运行此代码以验证缓慢的是计数?您可能最终会惊讶于其他一些事件的发生,这才是真正缓慢的部分。

关于ios - NSManagedObjectContext 的 countForFetchRequest 需要很长时间才能获得更大的对象图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21629235/

相关文章:

IOS/objective-C : Methods to start and end uiactivityindicatorview

core-data - 自定义验证期间Magical Record Core数据中的上下文保存问题

ios - MagicalRecord - 检索最后插入的记录 ID

ios - Appstore发布应用的神奇记录,核心数据迁移

ios - "Export"核心数据与魔法记录

ios - CC Parallax 节点视差比(解释)

ios - Finder 找不到文件夹消息 : Why?

ios - 自定义 UITableviewCell 中的多行标签

ios - 静态库中的全局常量在运行时为 nil

ios - MagicalRecord 如何在关系中添加对象