Detta är ett MySQL-svar.
De fungerar exakt likadant - om du inte använder MyISAM, sedan ett specialfall för COUNT(*) existerar. Jag använder alltid COUNT(*) i alla fall.
https://dev.mysql.com/doc /refman/5.6/en/aggregate-functions.html#function_count
###EDIT Några av er kanske har missat det mörka försöket till humor. Jag föredrar att behålla detta som en icke-duplicerad fråga för en sådan dag då MySQL kommer att göra något annat än SQL Server. Så jag röstade för att återuppta frågan (med ett klart felaktigt svar).För
MyISAMtabeller,COUNT(*)är optimerad för att återvända mycket snabbt omSELECThämtar från en tabell, inga andra kolumner hämtas och det finns ingenWHEREklausul. Till exempel:mysql> SELECT COUNT(*) FROM student;Denna optimering gäller endast
MyISAMtabeller, eftersom ett exakt radantal lagras för denna lagringsmotor och kan nås mycket snabbt.COUNT(1)är endast föremål för samma optimering om den första kolumnen är definierad somNOT NULL.
Ovanstående MyISAM-optimering gäller även för
COUNT(*)
COUNT(1)
COUNT(pk-column)
COUNT(any-non-nullable-column)
Så det verkliga svaret är att de är alltid samma sak.