Question performance sql COUNT
-
20-09-2019 - |
Question
Structure de l'exemple de table:
Id, Integer (PK)
Name, Varchar(100)
Description, Text
Je dois savoir si elle existe différence de performance entre:
SELECT COUNT(*) FROM Example;
et
SELECT COUNT(Id) FROM Example;
Ou n'existe pas de différences?
La solution
Des différences existent dans les performances et la réelle ResultSet
Autres conseils
Vérifier le plan expliquer: est-ce le résultat proviennent de la table ou de méta-données (par exemple INFORMATION_SCHEMA) ?: Les différences sont susceptibles d'être très minime
.Je crois qu'il ya une différence; en fonction de la taille de votre table, il pourrait être négligeable, ou il pourrait être important.
Ceci est probablement le plus lent: SELECT COUNT (*) de l'exemple
Ceci est au milieu: SELECT COUNT (Id) de l'exemple
Ce serait le plus rapide: SELECT COUNT (1) de l'exemple
mérite d'être lu, mais malheureusement en russe.
COUNT (*), pourrait-il être plus rapide
Petite histoire est que COUNT(*)
est pas si efficace que l'accès direct à la dm_db_partition_stats
.