COUNT(字段)
进行全表扫描,判断指定字段的值是否为NULL,不为NULL则累加。
性能比count(1)
和count(*)
慢。
COUNT(*)和COUNT(1)
在InnoDB中COUNT(*)
和COUNT(1)
实现上没有区别,而且效率一样,但是COUNT(字段)
需要进行字段的非NULL判断,所以效率会低一些。
因为COUNT(*)
是SQL92定义的标准统计行数的语法,并且效率高,所以请直接使用COUNT(*)
查询表的行数!
进行全表扫描,判断指定字段的值是否为NULL,不为NULL则累加。
性能比count(1)
和count(*)
慢。
在InnoDB中COUNT(*)
和COUNT(1)
实现上没有区别,而且效率一样,但是COUNT(字段)
需要进行字段的非NULL判断,所以效率会低一些。
因为COUNT(*)
是SQL92定义的标准统计行数的语法,并且效率高,所以请直接使用COUNT(*)
查询表的行数!