es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Optimización de SQL en Redshift – UNION ALL y DISTINCT

Suponga que tengo una tabla con un gran volumen. ¿Cuál de los siguientes sería más optimizado?

SELECT DISTINCT shipping_address_id AS address_id FROM table_A
UNION
SELECT DISTINCT billing_address_id AS address_id FROM table_A

vs.

SELECT DISTINCT address_id FROM
(
SELECT shipping_address_id AS address_id FROM table_A
UNION ALL
SELECT billing_address_id AS address_id FROM table_A
)

Tags:  , ,

Answer

  1. Avatar for davy.ai

    La segunda consulta estaría más optimizada. En la primera consulta, la operación UNION puede requerir ordenar y eliminar duplicados en los conjuntos de resultados, lo cual puede consumir muchos recursos en una tabla con un gran volumen de datos. En la segunda consulta, la operación UNION ALL elimina la necesidad de ordenar y eliminar duplicados, lo que resulta en una ejecución de consulta más eficiente. Además, la subconsulta en la segunda consulta reduce la cantidad de escaneos de tabla necesarios al acceder solo a la tabla_A una vez.

Comments are closed.