sql >> Databáze >  >> RDS >> PostgreSQL

Načítání řádků z více tabulek pomocí UNION ALL nebo použití jedné tabulky v produkci?

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é.




  1. Jak nainstalovat SQL Server na Red Hat 8

  2. Oracle vytvoří tabulku pomocí klauzule s

  3. Odstraňte řádky ze serveru mysql ze seznamu ID C#

  4. Jaký je nejlepší způsob implementace vyhledávání podřetězců v SQL?