Dette er et MySQL-svar.
De udfører nøjagtig det samme - medmindre du bruger MyISAM, så et specialtilfælde for COUNT(*)
eksisterer. Jeg bruger altid COUNT(*)
alligevel.
https://dev.mysql.com/doc /refman/5.6/da/aggregate-functions.html#function_count
For MyISAM
tabeller, COUNT(*)
er optimeret til at returnere meget hurtigt, hvis SELECT
henter fra én tabel, ingen andre kolonner hentes, og der er ingen WHERE
klausul. For eksempel:
mysql> SELECT COUNT(*) FROM student;
Denne optimering gælder kun for MyISAM
tabeller, fordi et nøjagtigt antal rækker er gemt for denne lagermaskine og kan tilgås meget hurtigt. COUNT(1)
er kun underlagt den samme optimering, hvis den første kolonne er defineret som NOT NULL
.
Ovenstående MyISAM-optimering gælder ligeledes for
COUNT(*)
COUNT(1)
COUNT(pk-column)
COUNT(any-non-nullable-column)
Så det rigtige svar er, at de er altid det samme.