先说结论:无脑使用COUNT(*)即可,因为COUNT(*)是SQL92定义的标准统计行数的语法。
MySQL官方文档明确说明,在使用InnoDB存储引擎的前提下,COUNT(1)和COUNT(*)是完全一样的且没有性能差异。
传送门:https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_count
关键句:InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) operations in the same way. There is no performance difference.
COUNT(*)和COUNT(`列名`)的区别在于,COUNT(`列名`)不包括列值为NULL的行。