Obecně považuji za rozsáhlé používání UNION
naznačuje špatný návrh databáze. Existují případy, kdy UNION
a UNION ALL
dávají smysl, ale měly by být relativně vzácné mimo rekurzivní běžné tabulkové výrazy.
PostgreSQL poskytuje poměrně velké množství možností, jak udržet výkon na jedné tabulce zvládnutelný, a jak uvádíte, částečné indexy jsou velmi dobrým způsobem, jak tento problém vyřešit.
Hlavní problém s rozbitím tabulek tak, že takový UNION
běžné je, že to činí správu primárních a cizích klíčů poměrně problematickou. Obecně je téměř vždy mnohem lepší nejprve se ujistit, že vaše datová struktura je jasná a spravovatelná, a pak se starat o optimalizaci, než se starat o optimalizaci a poté se snažit, aby bylo optimalizované řešení zvládnutelné.