Ceci est une réponse MySQL.
Ils fonctionnent exactement de la même manière - sauf si vous utilisez MyISAM, alors un cas particulier pour COUNT(*) existe. J'utilise toujours COUNT(*) de toute façon.
https://dev.mysql.com/doc /refman/5.6/en/aggregate-functions.html#function_count
###EDITCertains d'entre vous ont peut-être raté la tentative d'humour noir. Je préfère garder cela comme une question non dupliquée pour un tel jour où MySQL fera quelque chose de différent de SQL Server. J'ai donc lancé un vote pour rouvrir la question (avec une réponse clairement erronée).Pour
MyISAMtableaux,COUNT(*)est optimisé pour revenir très rapidement si leSELECTextrait d'une table, aucune autre colonne n'est extraite et il n'y a pas deWHEREclause. Par exemple :mysql> SELECT COUNT(*) FROM student;Cette optimisation ne s'applique qu'à
MyISAMtables, car un nombre exact de lignes est stocké pour ce moteur de stockage et peut être consulté très rapidement.COUNT(1)n'est soumis à la même optimisation que si la première colonne est définie commeNOT NULL.
L'optimisation MyISAM ci-dessus s'applique également à
COUNT(*)
COUNT(1)
COUNT(pk-column)
COUNT(any-non-nullable-column)
Donc la vraie réponse est qu'ils sont toujours le même.