UNION vs UNION ALL

Pocos son los que conocen la diferencia UNION y UNION ALL, ésta clausula permite unir dos consultas diferentes en un mismo resultset para obtener solo 1 resultado en vez de dos, explicare la diferencia que existe al usar UNION y UNION ALL.

Ahora, asumamos dos tablas:

TABLE_A

ID Descripcion
1 Stravaganzza
2 Iron Maiden
3 Andromeda
4 Rhapsody Of Fire

TABLE_B

ID Descripcion
1 Angra
2 Iron Maiden
3 Andromeda
4 Kraken

La consulta base sera:


SELECT descripcion FROM TABLE_A

UNION | UNION ALL

SELECT * FROM TABLE_B

UNION:

Descripcion
Stravagannza
Angra
Iron Maiden
Rhapsody Of Fire
Kraken

UNION ALL:

Descripcion
Stravaganzza
Angra
Iron Maiden
Iron Maiden
Andromeda
Andromeda
Rhapsody Of Fire
Kraken

Conclusión:

Como pudimos observar, la diferencia radica en que al hacer UNION éste internamente realiza un DISTINCT de los valores, cosa que no hace el UNION ALL y por ende hace mas lento al primero. Eso seria todo por ahora…

Happy Coding!!

Proco

Software engineer, Gamer, Husband.

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *