Dit is een MySQL-antwoord.
Ze presteren precies hetzelfde - tenzij u MyISAM gebruikt, is er een speciaal geval voor COUNT(*)
bestaat. Ik gebruik altijd COUNT(*)
hoe dan ook.
https://dev.mysql.com/doc /refman/5.6/en/aggregate-functions.html#function_count
###EDITSommigen van jullie hebben de duistere poging tot humor misschien gemist. Ik geef er de voorkeur aan dit als een niet-dubbele vraag te houden voor zo'n dag waarop MySQL iets anders zal doen dan SQL Server. Dus ik heb gestemd om de vraag te heropenen (met een duidelijk verkeerd antwoord).Voor
MyISAM
tabellen,COUNT(*)
is geoptimaliseerd om zeer snel terug te keren als deSELECT
wordt opgehaald uit één tabel, er worden geen andere kolommen opgehaald en er is geenWHERE
clausule. Bijvoorbeeld:mysql> SELECT COUNT(*) FROM student;
Deze optimalisatie is alleen van toepassing op
MyISAM
tabellen, omdat een exacte rijtelling wordt opgeslagen voor deze opslagengine en zeer snel toegankelijk is.COUNT(1)
is alleen onderhevig aan dezelfde optimalisatie als de eerste kolom is gedefinieerd alsNOT NULL
.
De bovenstaande MyISAM-optimalisatie is ook van toepassing op
COUNT(*)
COUNT(1)
COUNT(pk-column)
COUNT(any-non-nullable-column)
Dus het echte antwoord is dat ze altijd . zijn hetzelfde.