count(*), count(1), count(列名)的区别
1.从结果上来看
count(1)和count(*)之间没有区别,因为count(*)count(1)都不会去过滤空值,但count(列名)就有区别了,因为count(列名)会去过滤空值。
2.从执行效率来看
(1)如果列名为主键,count(列名)效率高于count(1),如果列名非主键,count(1)效率高于count(列名)。
(2)如果表中存在主键,count(列名)效率最高。
(3)如果表只有一列,count(*)效率最高,如果表存在多列,且表没有主键,count(1)效率高于count(*)。

浙公网安备 33010602011771号