关于count

COUNT(字段)

进行全表扫描,判断指定字段的值是否为NULL,不为NULL则累加。

性能比count(1)count(*)慢。

COUNT(*)和COUNT(1)

在InnoDB中COUNT(*)COUNT(1)实现上没有区别,而且效率一样,但是COUNT(字段)需要进行字段的非NULL判断,所以效率会低一些。

因为COUNT(*)是SQL92定义的标准统计行数的语法,并且效率高,所以请直接使用COUNT(*)查询表的行数!