Nastavujte Mergado efektívne #3: Operátor IN je lepší ako OR

Lukáš Horák
9. 7. 2019
2 minúty čítania
Nastavujte Mergado efektívne #3: Operátor IN je lepší ako OR

Jeden z veľmi častých úkonov v Mergade je vyhľadávanie produktov, ktoré užívateľ spojí do skupiny, s ktorou potrebujete ďalej pracovať. Intuitívne to ide pomocou ľubovoľného množstva podmienok OR. My pre vás máme efektívnejší spôsob. S jeho pomocou nespôsobíte nápor na našu databázu a nespomalíte výkon Mergada.

Jeden z veľmi častých úkonov v Mergade je vyhľadávanie produktov, ktoré užívateľ spojí do skupiny, s ktorou potrebujete ďalej pracovať. Intuitívne to ide pomocou ľubovoľného množstva podmienok OR. My pre vás máme efektívnejší spôsob. S jeho pomocou nespôsobíte nápor na našu databázu a nespomalíte výkon Mergada.

Využívajte operátor IN

Aj keď je spôsob hľadania položiek pomocou podmienok OR (slovensky „alebo“) úplne v poriadku, pri ich väčšom počte (napr. pri hľadaní produktových ID jich Môže byť Niekoľko desiatok neba dokonca stoviek) bude taká požiadavka dlho trvať.

[PARAM|Veľkosť] = “L” OR [PARAM|Veľkosť] = “XL”

Použitie operátoru OR napr. pri hľadaní tričiek s veľkosťou L alebo XL je úplne v poriadku.

[PARAM|Veľkosť] IN (“XS”;“S”;“M”;“L”;“XL”;“2XL”;“3XL”;“4XL”;“5XL”)

Použitie operátoru IN pri hľadaní tričiek s viacerými veľkosťami je výhodnejšie, než použitie OR.

Iným príkladom pre použitie operátora IN môže byť vyhľadanie produktov podľa ich ID, kde sa môžu objaviť desiatky či stovky hodnôt. V týchto prípadoch už by sme nemali “OR” používať vôbec a hľadať iba s operátorom IN.
Ukážka vyhľadávania v Mergade na stránke Produkty, kde je možné vyhľadávať výpočtom v jednoduchom i rozšírenom hľadání:

V Mergade ide okrem operátoru IN použiť aj negáciu NOT IN (nie je obsiahnuté vo výpočte či nejakej množine). Ak by sme teda nechceli práve tieto produkty a ostatné áno, hľadanie by prebehlo pomocou NOT IN:

ITEM_ID NOT IN (“1”; “5”; “30”; “50”)

Používajte vyhľadávanie pomocou výpočtu (množín) za pomoci operátoru IN. Dáta sa vám pregenerujú rýchlejšie a výkon Mergada nezaťažíte ani stovkami takto zapísaných hodnôt.

Mohlo by vás zaujímať:

Lukáš Horák

Lukáš sa v Mergade stará o väčšinu komunikácie v češtine. Prostredníctvom blogu, e‑mailu a sociálnych sietí pravidelne zásobuje čitateľa aktualitami z e‑commerce, novinkami a tipmi z Mergada. Pokiaľ práve nie je copywriter, užíva si príjemné veci ako badminton, výlety medzi utajené skvosty osemdesiatkovej hudby a plody mora podávané s červeným vínom.