0
在我剛寫入的應用程序中,我有一個可以寫成BaseIngredient的對象關係< < --- >>配方。核心數據謂詞涉及謂詞的多對多性能
這種關係的原因是爲了改善現有的基礎模型的性能,它在BaseIngredient和Recipe之間有大約3個表。
,我已經以前寫的謂語是
[NSPredicate predicateWithFormat:@"SUBQUERY(ingredients, $i, ANY $i.ingredientSection.recipe IN %@)[email protected] > 0", self.recipesFilter];
其中穿越幾個對象。
我
[NSPredicate predicateWithFormat:@"ANY recipes IN %@", recipes];
取代它,它是顯著慢。
作爲一個信息,這個謂詞是NSFetchedResultsController的一部分,它從不同的表NSFetchedResultsController傳遞食譜。有沒有人有解釋爲什麼這會更慢,如何快速?
您的謂詞格式字符串的參數應該是食譜,而不是食譜ID。 – Mundi
我已經試過這兩種方法。 –
現在我們知道你的輸入數組是錯誤的,或者你正在搜索的底層數據。你檢查過那些嗎? – Mundi