提高大型数据集上谓词的性能

金恩武

我有30907个项目的大数据。目前,即时通讯使用NSPredicate进行过滤。但这很慢。因此,即时通讯正在寻找一种更快地处理它们的最佳方法。

这是我当前的代码,用于过滤30907个项目:

predicate = [NSPredicate predicateWithFormat:
                 @"((full beginswith[cd] %@) OR (full == [cd] %@) OR (search ==[cd] %@)) OR (search CONTAINS[cd] %@) OR (search beginswith[cd] %@)",matchString,matchString,matchString,strNoSpace,strNoSpace];

NSArray * arrResult = [arrSongs filteredArrayUsingPredicate:predicate];

结果是正确的,但是非常慢。

吉尔赫姆·托雷斯·卡斯特罗(Guilherme Torres Castro)

也许您可以尝试删除(full == [cd] %@),这种情况已经得到充分评估beginswith[cd]换句话说,具有的字符串(full == [cd] %@)是的子集beginswith[cd]

碰巧的是(search beginswith[cd] %@),这是的子集(search CONTAINS[cd] %@)

因此,请尝试以下操作:

[NSPredicate predicateWithFormat:
                 @"((full beginswith[cd] %@) OR (search ==[cd] %@)) OR (search CONTAINS[cd] %@)",matchString,matchString,strNoSpace];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过替换“ for-loop”和“ if-else”子句来提高大型数据集的性能

来自分类Dev

如何提高大数据性能?

来自分类Dev

创建辅助表以提高大型MySQL表的性能?

来自分类Dev

如何提高大型数据集中Python计算的速度?

来自分类Dev

使用索引或以任何其他可能的方式提高大型文档中大型集合的查询性能

来自分类Dev

优化大型数据集的性能

来自分类Dev

提高大型彩票模拟的效率

来自分类Dev

提高查询性能,计算MS-Access中大型数据集的7天滚动平均值

来自分类Dev

在Python 3.4中提高大型字典的速度

来自分类Dev

大型数据集上sum(column_name),sum(1)和count(*)之间的巨大性能差异

来自分类Dev

如何提高大文件的Python迭代性能

来自分类Dev

提高大表有序顶部查询的性能

来自分类Dev

在大型数据集上使用Leaps或glmnet

来自分类Dev

在大型数据集上执行PCA

来自分类Dev

大型数据集上的Sklearn-GMM

来自分类Dev

Sigma.js上的大型数据集

来自分类Dev

在大型数据集上执行PCA

来自分类Dev

MySQL性能:大型数据集的单个表或多个表

来自分类Dev

从多个并行线程读取大型数据集的性能

来自分类Dev

提高数据比较性能

来自分类Dev

在大型MySQL表中提高性能

来自分类Dev

提高访问大型数组元素的性能

来自分类Dev

带有大型数据库表的LINQ to SQL可提高性能

来自分类Dev

带有大型数据库表的LINQ to SQL可提高性能

来自分类Dev

提高大字符串上的正则表达式的性能

来自分类Dev

MySQL大型数据集

来自分类Dev

更新大型数据集

来自分类Dev

合并大型数据集

来自分类Dev

管理大型数据集