För InnoDB
Om specific_field
är inte nullbar, de är likvärdiga och har samma prestanda.
Om specific_field
är nullbar gör de inte samma sak. COUNT(specific_field)
räknar raderna som inte har ett nollvärde av specific_field
. Detta kräver att man tittar på värdet för specific_field
för varje rad. COUNT(*)
räknar helt enkelt antalet rader och kan i detta fall vara snabbare eftersom det inte kräver att man undersöker värdet på specific_field
.
För MyISAM
Det finns en speciell optimering för följande så att den inte ens behöver hämta alla rader:
SELECT COUNT(*) FROM yourtable