使用CoreData令人失望的iOS搜索时间

使用CoreData令人失望的iOS搜索时间,第1张

概述我有一个在iOS 5.1.1的ipad上运行的coredata数据库.我的数据库中有大约50,000家公司.我已经在公司名称属性上创建了一个索引.我正在搜索此属性,有时会使用fetchRequest返回数千条记录. 当返回几千条记录时,从获取返回可能需要几秒钟.这使得提前输入搜索非常笨重. 我预计未来会有更大的数据库.我有什么选择来实现真正快速的搜索功能? 谢谢. 我建议观看最近几个WWDC的核心 我有一个在iOS 5.1.1的ipad上运行的coredata数据库.我的数据库中有大约50,000家公司.我已经在公司名称属性上创建了一个索引.我正在搜索此属性,有时会使用fetchRequest返回数千条记录.

当返回几千条记录时,从获取返回可能需要几秒钟.这使得提前输入搜索非常笨重.

我预计未来会有更大的数据库.我有什么选择来实现真正快速的搜索功能?

谢谢.

解决方法 我建议观看最近几个WWDC的核心数据性能视频.他们经常谈论改善这种瓶颈的策略.视频中的一些建议:

>将名称字段反规范化为单独的“case and diacritic insensitive”searchString字段,并使用<,< =或BEGINSWITH搜索该字段.避免使用MATCHES和通配符.
>使用fetchlimit和fetchBatchSize限制NSFetchRequest返回的结果数
>如果您的公司对象很大,您可以将一些关键数据项提取到一个单独的较小的“标题”对象上,该对象仅用于搜索界面.然后在用户进行选择时将关系添加回主对象.

一些视频的指针(其他年份还有更多):

WWDC 2012:会议214 – 核心数据最佳实践:45:00

WWDC 2010:会议137 – 在iPhone OS上优化核心数据性能:34:00

总结

以上是内存溢出为你收集整理的使用CoreData令人失望的iOS搜索时间全部内容,希望文章能够帮你解决使用CoreData令人失望的iOS搜索时间所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1052036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存