sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué no debería usar DISTINCT cuando podría usar GROUP BY?

Si sabe que dos columnas de su resultado siempre están directamente relacionadas, es más lento hacer esto:

SELECT DISTINCT CustomerId, CustomerName FROM (...)

que esto:

SELECT CustomerId, CustomerName FROM (...) GROUP BY CustomerId

porque en el segundo caso solo tiene que comparar el id, pero en el primer caso tiene que comparar ambos campos. Este es un truco específico de MySQL. No funcionará con otras bases de datos.