Problémy s výkonem seskupování a počítání byste mohli odstranit, pokud byste tyto informace někde uložili. Do Produktů můžete přidat sloupec s názvem total_categories
to vám řekne, kolik kategorií se produkt účastní. Pak stačí říct where total_categories = 4
. To může být obtížnější udržovat, pokud produkty často mění své kategorie, protože byste toto pole museli neustále správně aktualizovat – a pak se musíte rozhodnout, zda to chcete provést v kódu aplikace nebo ve spouštěči nebo v uložené proceduře. ...
Normálně bych nepovažoval za příliš dobrý nápad ukládat taková metadata přímo do tabulky, ale pokud je výkon skutečně tak špatné, možná by to stálo za zvážení.