Question

Possible en double: Dans SQL, quelle est la différence entre le nombre (colonne) et le nombre ( )? Count ( ) vs count (1)

J'ai de grandes tables qui conservent des textes longs, par exemple le contenu e-mail ou nouvelles. Et ma question est-il une différence de performances pour les lignes de la table de comptage:

SELECT COUNT(*) FROM table_name

SELECT COUNT(t.id) FROM table_name as t

Quelle est la meilleure? ou celui-ci ne sera optimisée par requête optimiseur? Y at-il des documents concernant ce sujet?

Était-ce utile?

La solution

Ils sont différents.

COUNT(*) récupérera toutes les valeurs (même les valeurs de NULL comptent). COUNT(t.id) ne compte pas les valeurs NULL.


En termes de performance, ils sont les mêmes (l'optimiseur de requêtes est intelligent).

Autres conseils

plan de requête a la même, mais les tests, en utilisant * est plus rapide (un peu).

ne sont pas les valeurs nulles La prise en compte lorsque vous spécifiez un nom de colonne si.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top