En general, encuentro que el uso extensivo de UNION
sugiere un mal diseño de la base de datos. Hay casos en los que UNION
y UNION ALL
tienen sentido, pero deberían ser relativamente raros fuera de las expresiones de tablas comunes recursivas.
PostgreSQL proporciona una cantidad bastante grande de opciones para mantener manejable el rendimiento en una sola tabla y, como usted señala, los índices parciales son una muy buena manera de manejar este problema.
El principal problema de dividir tablas de tal manera que UNION
Las declaraciones son comunes es que hace que la gestión de claves primarias y externas sea bastante problemática. En general, casi siempre es mucho mejor asegurarse de que su estructura de datos sea clara y manejable primero, y luego preocuparse por la optimización que preocuparse por la optimización y luego intentar que la solución optimizada sea manejable.