【发布时间】:2011-10-05 09:07:40
【问题描述】:
我正在使用 NSFetchedResultsController 在 UITableView 中显示一些搜索结果。搜索结果由以下谓词请求:
[NSPredicate predicateWithFormat:@"(plainText CONTAINS %@)", _searchString]
搜索所经过的实体有大约 25.000 个对象。 plainText 属性包含一个字符串值,每个值大约 700 个单词。
这个搜索需要大约 20 秒,太慢了。
有没有办法优化性能?
我观看了 WWDC 2010 Session 137,她正在谈论将关键字规范化为一个单独的实体以避免使用 CONTAINS。这是一种改进的方法,只有我每个有700个关键字。使其成为 700 x 25.000 = 17.500.000 个关键字。我怀疑它会改善。我应该试试吗?
【问题讨论】:
标签: iphone objective-c ios ipad core-data