count(*)、count(1)和count(列名)区别
创作时间:
作者:
@小白创作中心
count(*)、count(1)和count(列名)区别
引用
CSDN
1.
https://blog.csdn.net/weixin_42381196/article/details/122259002
在SQL查询中,count(*)、count(1)和count(列名)是常用的统计函数,但它们之间存在一些重要的区别。本文将从执行效果和执行效率两个维度,详细对比分析这三种统计函数的差异,并通过实例帮助读者更好地理解它们的使用场景。
一、三者对比
(1)执行效果上:
- count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL
- count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL
- count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。
(2)执行效率上:
- 列名为主键, count(列名) 会比 count(1)快
- 列名不为主键, count(1) 会比 count(列名)快
- 如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)
- 如果有主键,则 select count(主键) 的执行效率是最优的
- 如果表只有一个字段,则 select count(*)最优。
二、实例分析
热门推荐
柠檬水泡久了,为什么会发苦?
今年雨水不一般 60年一遇有3大特点 降雨多物候乱
揭秘体检中的肾脏秘密,全面解读肾功能检查项目及其重要性
自考、成人高考、网络教育:哪种学历提升方式含金量更高?
15句英文名言:从知识到实践,从困境到成功
减肥的这7个真相,你知道多少呢?
如何高效掌握参数管理重点?全面解析最佳实践
红楼梦中麝月的结局:一支花签揭开的秘密
后现代主义平面设计中"游戏性"研究
供应链管理(SCM):界面设计全面扫盲,得供应链者得天下
为什么健身的人大多推崇鸡胸肉,而不是鱼肉?
《心经》的魅力与价值
为什么一看强光就打喷嚏?| 科学小馆儿
合同管理检查项目有哪些内容
中国船舶七一一所:打造船舶绿色动力“心”版图
天翼云盘如何转移账户
脑疝分为几种类型及临床表现是什么
计算机是如何启动的?从未上电到操作系统启动
吃草莓有什么好处
香肠和什么菜搭配炒着好吃?5种搭配要收藏,味道难以忘怀
【心理健康】失眠问题 从心理角度助你解决
肚胀原因及解决方法大揭秘
怎么将文字快速导入excel
上班没精神、总是睡不醒?专家支招解“春困”
耳鸣是什么?被耳鸣“缠上”之后怎么办?
选购指南:如何选择适合自己的高效扫地机器人
如何复制Windows下的文本到虚拟机
如何保存页面为html代码
国际人道法与中国:历史大事记
高鼎《村居》赏析:一幅生机勃勃的春日图景