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(*)最优。
二、实例分析
热门推荐
孕期饮食指南:这些鱼最适合孕妇食用,助力胎儿大脑发育
EUDR严规之下,家具出口面临市场准入挑战
让用户上瘾的秘诀,Hook模型的用户习惯养成术
买车后就不再管的胎压,其实挺重要的
私立医院医生如何晋升职称?评审难点与攻略揭秘
冠心病猛如虎!正确走路方式让中老年人突围,全方位攻略必看
健身中核心力量及核心肌肉群的定义和作用分析
低成本、高性能:蒙脱土基固态电解质
【离散时间信号处理】:深入解析单位脉冲响应的Z变换
全球最大核聚变项目宣布大幅延期 直言该技术2040年前不太可能商用
广西柳州龙潭公园:双潭烟雨与民族风情的完美融合
家里有臭虫怎么办?全面应对方法详解
战争罪是什么
非感染性腹泻有哪些症状
被打伤后伤情鉴定、误工费计算及赔偿指南
玩《黑神话:悟空》需要什么电脑配置 3DMark多少分可以玩《黑神话:悟空》
日本米价大涨82% 通胀飙升会否加速央行加息步伐?
摆脱迷茫,减少叛逆,青少年从入门到进阶的哲学书单
停用褪黑素就睡不着是怎么回事,怎么办
43种适合河滩生长的乔木品种
老人去世后身份证也注销了,存在银行钱怎样取出来?银行人告诉你
挡风被不安全,骑电动车如何正确防寒?看看交警怎么说:这样做既防寒又安全
私自研发永动机可能犯法:物理定律的挑战与法律规范的探讨
滨州职业学院:围绕“三个聚焦”探寻“三好路径”建成“示范标杆”
豪华车队的盈利模式是怎样的?
苹果电脑键盘没反应?4个解决方案帮你轻松应对
肠内营养液的类型太多,不会选?3分钟教会你!
Excel效率飙升:掌握这5个Alt快捷键,让你的工作如虎添翼
过度依赖AI会导致人的退化?
火影忍者手游侠隐江湖:药师兜连招技巧详解