当前位置:   article > 正文

SQL聚合函数count(*),count(1)和count(列名)的区别_sql中count(1)记录什么

sql中count(1)记录什么

执行效果上

count(*):包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL 的行。

count(1):会统计表中的所有的记录数,包含列值为NULL 的行。

count(列名):只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是指空字符串或者0,而是表示null)的计数。

执行效率上

列名为主键,count(列名) 会比 count(1) 快。

列名不为主键,count(1) 会比 count(列名) 快。

如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*) 的执行效率。

如果有主键,则 select count(主键) 的执行效率是最优的。

如果表只有一个字段,则 select count(*) 的执行效率是最优的。


转自:https://blog.csdn.net/dongzhanglong/article/details/105936580

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/910992
推荐阅读
相关标签
  

闽ICP备14008679号