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(*)。

posted @ 2022-09-25 12:53  光●中  阅读(258)  评论(0)    收藏  举报