Я пытался выяснить, можно ли каким-либо образом улучшить производительность следующего предиката:
[NSPredicate predicateWithFormat:@"A=%@ and SUBQUERY($self.words,$k,$k.keyword IN %@).@count==%d",
<value for A>,
keywordList,
[keywordList count]];
Я пытаюсь вернуть все записи A, содержащие ключевые слова, которые ВСЕ содержатся в предоставленном массиве (keywordList). У меня есть небольшая база данных около 2000 записей. Однако ключевые слова для каждой сущности варьируются от 40 до 300 ключевых слов. Ключевые слова представлены как отношение «ко многим» от A к объекту под названием «Ключевые слова». Приведенный выше запрос работает, но на моем iPhone4 требуется около 7 секунд. Я хочу посмотреть, что я могу сделать, чтобы сократить время отклика до доли секунды.
Спасибо, Майкл