Nastavujte Mergado efektivně #3: Operátor IN je lepší jak OR
Jeden z velmi častých úkonů v Mergadu je vyhledávání produktů, které uživatel spojí do skupiny, s níž potřebuje dále pracovat. Intuitivně to jde pomocí libovolného množství podmínek OR. My pro vás máme efektivnější způsob. S jeho pomocí nezpůsobíte nápor na naši databázi a nezpomalíte výkon Mergada.
Využívejte operátor IN
I když je způsob hledání položek pomocí podmínek OR (česky “nebo”) naprosto v pořádku, při jejich větším počtu (např. při hledání produktových ID jich může být několik desítek nebo dokonce stovek) bude takový dotaz dlouho trvat.
[PARAM|Velikost] = “L” OR [PARAM|Velikost] = “XL”
Použití operátoru OR např. při hledání triček s velikostí L nebo XL je naprosto v pořádku.
[PARAM|Velikost] IN (“XS”;“S”;“M”;“L”;“XL”;“2XL”;“3XL”;“4XL”;“5XL”)
Použití operátoru IN při hledání triček s více velikostmi je výhodnější, než použití OR.
Jiným příkladem pro použití operátoru IN může být vyhledání produktů podle jejich ID, kde se mohou objevit desítky či stovky hodnot. V těchto případech už bychom neměli “OR” používat vůbec a hledat pouze s operátorem IN.
Ukázka vyhledávání v Mergadu na stránce Produkty, kde je možné vyhledávat výčtem v jednoduchém i rozšířeném vyhledávání:
V Mergadu jde kromě operátoru IN použít i negaci NOT IN (není obsaženo ve výčtu či nějaké množině). Pokud bychom tedy nechtěli právě tyto produkty a ostatní ano, hledání by proběhlo pomocí NOT IN:
ITEM_ID NOT IN (“1”; “5”; “30”; “50”)
Používejte vyhledávání pomocí výčtu (množin) za použití operátoru IN. Data se vám přegenerují rychleji a výkon Mergada nevytížíte ani stovkami takto zapsaných hodnot.
Mohlo by vás zajímat:

Lukáš se v Mergadu stará o většinu komunikace v češtině. Prostřednictvím blogu, e‑mailu a sociálních sítí pravidelně zásobuje čtenáře aktualitami z e‑commerce a novinkami a tipy z Mergada. Pokud zrovna není copywriterem, užívá si prosté věci jako badminton, výlety mezi utajené skvosty osmdesátkové hudby a plody moře podávané s červeným vínem.
Komentáře
Mě přijde, že má Lukáš ve článku obrázek s jiným příkladem, než o čem píše v textu. Podle mne by na obrázku mělo být:
[PARAM|Velikost] IN (“L”;“XL”)
Tak to kapku mate.
A já si říkal, že mám ty pravidla s OR nějak dlouhé, díky za tip. Náhled je již aktuální?
Já teda nevím, ale nechybí vám tam něco? Mě to nějak nedává smysl.
Já přece neznám ID-čka všech položek s velikostí L a XL, tak jak je tam mám vypsat?
Tam by snad měl být v tom “IN” spíš nějaký pod-dotaz, který vrátí seznam těch ID-ček ne?
Děkuji za ujasnění.