#817

Zrychli vyhledávání podle vzácného stavu

V tabulce orders má 95 % řádků stav paid a jen 5 % je pending. Vytížený monitorovací dotaz zní „dej mi všechny pending objednávky za poslední hodinu“. Prostý index na stav zahrnuje každý řádek tabulky a vyjde příliš tlustý — pending se v něm utopí mezi paid. Řešením je částečný index, který fyzicky drží jen pending řádky: je asi 20× menší a rychlejší na sken. Postav částečný index s názvem orders_pending_idx na sloupci id v tabulce orders, omezený podmínkou status = 'pending'.

Výsledek vašeho dotazu se zobrazí zde