count(1)、count(*)、count(id)、count(name)区别

count(1)、count(*)、count(id)、count(name)区别

经过执行计划可以看到,四种执行后查询的行数是一样的(至少在mysql5.7及以后是一样的)

硬要 说区别
在这里插入图片描述
字段有索引的话,count(字段)>count(id):因为字段有索引的话,它会走字段索引,就是二级索引

count(*):会统计值为null的行
count(列名):不会统计列为null值的行