Mysql
 sql >> Database >  >> RDS >> Mysql

Perché non dovresti usare DISTINCT quando potresti usare GROUP BY?

Se sai che due colonne del tuo risultato sono sempre direttamente correlate, è più lento farlo:

SELECT DISTINCT CustomerId, CustomerName FROM (...)

di questo:

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

perché nel secondo caso deve solo confrontare l'id, ma nel primo caso deve confrontare entrambi i campi. Questo è un trucco specifico di MySQL. Non funzionerà con altri database.