count(1) ,count(列名),count(*)查询区别
程序员文章站
2022-07-04 17:04:46
...
执行效果上:
count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL
count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL
count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计
执行效率上:
列名为主键,count(列名)会比count(1)快
列名不为主键,count(1)会比count(列名)快
如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)
如果有主键,则 select count(主键)的执行效率是最优的
如果表只有一个字段,则 select count(*)最优。
---------------------
作者:BigoSprite
来源:CSDN
原文:https://blog.csdn.net/ifumi/article/details/77920767
count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL
count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL
count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计
执行效率上:
列名为主键,count(列名)会比count(1)快
列名不为主键,count(1)会比count(列名)快
如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)
如果有主键,则 select count(主键)的执行效率是最优的
如果表只有一个字段,则 select count(*)最优。
---------------------
作者:BigoSprite
来源:CSDN
原文:https://blog.csdn.net/ifumi/article/details/77920767
推荐阅读
-
sql中count或sum为条件的查询示例(sql查询count)
-
MySQL数据库Group by分组之后再统计数目Count(*)与不分组直接统计数目的区别
-
select count(1)和select count(*)的区别
-
Sql server 中count(1) 与 sum(1) 那个更快?
-
Sql server 中count() 与 sum() 的区别
-
count(1)、count(*)与count(列名)的执行区别
-
SQL基础教程之count(*)和count(colName)的区别介绍
-
DataGridView中的rows.Count比实际行数多1的原因以及解决办法
-
Leetcode1-100: 38. Count and Say
-
整理测试count(1)、count(*)以及count(列)的区别