gpt4 book ai didi

ios - NSFetchedResultsController 太慢

转载 作者:行者123 更新时间:2023-11-29 01:33:58 27 4
gpt4 key购买 nike

我正在使用 NSFetchResultsController 从数据库中接收项目(有 80.000 个项目)。

这是我的谓词:@"(desc CONTAINS[cd] %@)", [any text]

对于 NSFetchRequest 我设置了下一个属性:

request.propertiesToFetch = [NSArray arrayWithObject:[[entityDescription propertiesByName] objectForKey:@"icd"]];
request.returnsDistinctResults = YES;
[request setFetchBatchSize:100];
[request setSortDescriptors:[NSArray arrayWithObject:[[NSSortDescriptor alloc] initWithKey:@"icd" ascending:YES]]];

这背后的想法是我想要一个实时搜索(用户在文本字段中写入的每个字符,NSFetchResultsController 应该再次获取到数据库中。

接下来的问题是:在 iPad Mini 上,每次提取持续时间在 2-3 秒之间,非常多。我记得现在我在 1 年前做过同样的事情,而且工作得更快。

你能给我一些建议吗?我真的不知道如何改进查询。

最佳答案

你的问题是你的谓词。它会导致扫描每条记录以查找哪些记录包含所需的搜索文本。此外,使用 [cd] 会使它变得更慢。

这个确切的问题在 2013 WWDC presentation on Core Data Performance 中得到解决。 .

关于ios - NSFetchedResultsController 太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33163410/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com