Récemment, la fonction numérique a été beaucoup utilisée, et lorsque le nombre à compter est relativement grand, on constate que compter (*) prend plus de temps et compter(1) moins.
Certains documents comportent les déclarations suivantes :
Si votre table de données ne possède pas de clé primaire, alors count(1) est plus rapide que count(*). S’il existe une clé primaire, alors la clé primaire (clé primaire jointe) est également plus rapide que count(*). Si votre table ne comporte qu’un seul champ, alors compte(*) est le plus rapide compte(*) compte(1) Comparez les deux. L’essentiel est de compter les champs de données correspondant à (1). Si count(1) est un polyindex, id, alors il doit être count(1) plus rapide. Mais la différence est très faible. Parce que count(*), le champ est automatiquement optimisé pour spécifier à. Il n’est donc pas nécessaire de compter ( ?), utiliser compter (*), SQL vous aidera à finaliser l’optimisation
Détails du décompte : count(*) retournera le nombre total de toutes les lignes présentes dans le tableau, y compris les lignes avec une valeur nulle,Cependant, le compte (nom de la colonne) retournera le nombre total de toutes les lignes du tableau sauf null(Les colonnes avec des valeurs par défaut sont également comptabilisées). nom de colonne distinct, le résultat sera celui après suppression de la valeur nulle et duplique des données
Par le passé, je ne savais pas que le blog disait que tout le monde était recommandé d’utiliser count(0) et que l’efficacité des requêtes était relativement élevée, etc
Aujourd’hui, on constate que l’utilisation de comptage(0) est une idée reçue !!
compte(0) La première colonne des statistiques n’est pas vide
N’utilisez pas number(nom de colonne) ou count(constant) au lieu de count(*),
count(*) est la syntaxe du nombre standard de lignes défini par SQL92, qui n’a rien à voir avec la base de données, NULL et non-NULL.
Note : count(*) compte les lignes avec une valeur NULL, tandis que count(nom de la colonne) ne compte pas les lignes avec une valeur NULL.
Ainsi, à l’avenir, lorsque vous faites toutes les statistiques et que vous n’excluez pas les données vides, il vaut mieux utiliser honnêtement le comptage (*) !!
|