Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que você não deveria usar DISTINCT quando poderia usar GROUP BY?


Se você sabe que duas colunas do seu resultado estão sempre diretamente relacionadas, é mais lento fazer isso:
SELECT DISTINCT CustomerId, CustomerName FROM (...)

do que isso:
SELECT CustomerId, CustomerName FROM (...) GROUP BY CustomerId

porque no segundo caso só tem que comparar o id, mas no primeiro caso tem que comparar os dois campos. Este é um truque específico do MySQL. Não funcionará com outros bancos de dados.