繁体   English   中英

核心数据谓词涉及谓词的多对多性能

[英]Core Data Predicate to-many to-many performance involving predicates

在我刚刚编写的应用程序中,我有一个对象关系,可以将其写为BaseIngredient << --- >>配方。

这种关系的原因是为了提高现有基础模型的性能,该模型在BaseIngredient和Recipe之间大约有3个表。

我之前写过的谓词是

[NSPredicate predicateWithFormat:@"SUBQUERY(ingredients, $i, ANY $i.ingredientSection.recipe IN %@).@count > 0", self.recipesFilter];

遍历了几个对象。

我用

[NSPredicate predicateWithFormat:@"ANY recipes IN %@", recipes];

而且速度要慢得多。

作为一点信息,该谓词是NSFetchedResultsController的一部分,该NSFetchedResultsController从不同的表NSFetchedResultsController处理。 有谁解释为什么这样做会更慢,以及如何快速制作?

我认为您的谓词可以改善。 IN的正确用法是:

[NSPredicate predicateWithFormat:@"recipes in %@", selectedRecipes];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM