/ / Čo je efektívnejšie: Jeden predikát s formátom „IN“ alebo [NSPredicate orPredicateWithSubpredicates:] - Objective-C, výkon, základné údaje, čitateľnosť kódu

Čo je efektívnejšie: jeden predikát s použitým formátom "IN" alebo [NSPredicate aleboPredicateWithSubpredicates:] - objektív-c, výkon, základné údaje, čitateľnosť kódu

Čo je efektívnejšie?

  1. Použitie predikátu s „IN“ ako [NSPredicate predicateWithFormat: @ „myObjectId v% @“, neededIds];
  2. Vytvára sa veľa predikátov pre každé ID([NSPredicate predicateWithFormat: @ "myObjectId == neededIds [i]"])) a potom pomocou týchto predikátov vytvoriť zložený predikát ako [NSPredicate orPredicateWithSubpredicates: perIdPredicates]?

Uprednostnil by som prvý prípad, pretože sa mi zdá oveľa čistejší, menej kódu, ale môj kolega trvá na tom, že druhý prípad so zloženým predikátom je efektívnejší (ale nikdy som o ňom vo WWDCs nepočul).

odpovede:

0 pre odpoveď č. 1

Túto otázku kladiem aj na fórach Apple a tuto, čo mám: pravdepodobne používam „IN“ je vo väčšine prípadov výhodnejšie (ako som čakal), pretože optimalizátor požiadaviek má menej práce. Ale pre istotu by som to mal skontrolovať pomocou protokolov a nástrojov CoreData.

https://devforums.apple.com/message/1125377#1125377