Middle
Qu'est-ce qui fonctionne plus rapidement : count(*) ou count(nom_de_la_colonne) ?
sobes.tech IA
Réponse de l'IA
Dans la plupart des SGBD, count(*) et count(nom_colonne) fonctionnent selon des logiques différentes :
count(*)compte toutes les lignes, y compris celles où les valeurs dans les colonnes peuvent être NULL.count(nom_colonne)ne compte que les lignes où la valeur dans la colonne spécifiée n'est pas NULL.
En termes de performance, count(*) est généralement plus rapide ou au moins aussi rapide, car le SGBD n'a pas besoin de vérifier les valeurs dans une colonne spécifique, il se contente de compter les lignes. Sur certains moteurs optimisés, count(*) peut utiliser des métadonnées ou des index pour un comptage rapide.
Exemple :
SELECT count(*) FROM users; -- compte toutes les lignes
SELECT count(email) FROM users; -- ne compte que les lignes où email n'est pas NULL
En résumé : si vous avez juste besoin du nombre total de lignes, il est préférable d'utiliser count(*), qui est généralement plus rapide et plus précis.