Per InnoDB
Se specific_field
non è nullable, sono equivalenti e hanno le stesse prestazioni.
Se specific_field
è nullable, non fanno la stessa cosa. COUNT(specific_field)
conta le righe che hanno un valore non nullo di specific_field
. Ciò richiede di esaminare il valore di specific_field
per ogni riga. COUNT(*)
conta semplicemente il numero di righe e in questo caso può essere più veloce in quanto non richiede l'esame del valore di specific_field
.
Per MyISAM
C'è un'ottimizzazione speciale per quanto segue in modo che non sia nemmeno necessario recuperare tutte le righe:
SELECT COUNT(*) FROM yourtable