Това е MySQL отговор.
Те работят точно по същия начин - освен ако не използвате MyISAM, тогава специален случай за COUNT(*) съществува. Винаги използвам COUNT(*) така или иначе.
https://dev.mysql.com/doc /refman/5.6/en/aggregate-functions.html#function_count
###РЕДАКТИРАНЕ Някои от вас може да са пропуснали черния опит за хумор. Предпочитам да запазя това като недублиран въпрос за всеки ден, когато MySQL ще направи нещо различно на SQL Server. Затова гласувах да отворя отново въпроса (с явно грешен отговор).За
MyISAMтаблици,COUNT(*)е оптимизиран за връщане много бързо, акоSELECTизвлича от една таблица, други колони не се извличат и нямаWHEREклауза. Например:mysql> SELECT COUNT(*) FROM student;Тази оптимизация се отнася само за
MyISAMтаблици, тъй като точен брой редове се съхранява за този механизъм за съхранение и може да бъде достъпен много бързо.COUNT(1)подлежи на същата оптимизация само ако първата колона е дефинирана катоNOT NULL.
Горната оптимизация на MyISAM важи еднакво за
COUNT(*)
COUNT(1)
COUNT(pk-column)
COUNT(any-non-nullable-column)
Така че истинският отговор е, че те савинаги същото.