Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi ne devriez-vous pas utiliser DISTINCT alors que vous pourriez utiliser GROUP BY ?

Si vous savez que deux colonnes de votre résultat sont toujours directement liées, il est plus lent de le faire :

SELECT DISTINCT CustomerId, CustomerName FROM (...)

que ceci :

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

car dans le second cas, il n'a qu'à comparer l'identifiant, mais dans le premier cas, il doit comparer les deux champs. C'est une astuce spécifique à MySQL. Cela ne fonctionnera pas avec d'autres bases de données.