Si la colonne est indexée, COUNT(DISTINCT id)
a juste besoin de retourner le nombre d'éléments dans l'index de la colonne. COUNT(id)
doit additionner le nombre de lignes vers lesquelles chaque entrée d'index pointe, ou parcourir toutes les lignes.
Pour votre deuxième question, voir count(*) et count(column_name), quelle est la différence ?
. La plupart du temps, COUNT(*)
est le plus approprié ; il existe certaines situations, telles que le comptage de lignes jointes avec une jointure externe, où vous devez utiliser COUNT(columnname)
car vous ne voulez pas compter les lignes nulles.