Použití může použít částečné indexy k vyřešení skutečnosti, že "&" není indexovatelný operátor (afaik):
CREATE INDEX vendors_typeA ON vendors(id) WHERE (type & 2) > 0;
CREATE INDEX vendors_typeB ON vendors(id) WHERE (type & 4) > 0;
Samozřejmě budete muset přidat nový index pokaždé, když přidáte nový typ. Což je jeden z důvodů pro rozšíření dat do asociační tabulky, kterou lze následně správně indexovat. Vždy můžete napsat spouštěče pro dodatečné udržování tabulky bitových masek, ale použijte tabulku many-to-many, abyste data ve skutečnosti normálně udržovali, protože to bude mnohem přehlednější.
Pokud celé vaše hodnocení škálování a výkonu říká „Mohu mít miliony řádků“, neudělali jste dost pro to, abyste začali používat tento druh optimalizace. Nejprve vytvořte správně strukturovaný jasný model a později jej optimalizujte na základě skutečných statistik o tom, jak funguje.