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(*)最优。
二、实例分析
热门推荐
美国制造业创新生态扫描——美国“国家制造业创新网络”发展概况
痛风患者能吃雪糕冰淇淋吗
pubg为什么被检测(如何确保你的游戏账号在《绝地求生》中不被误封?)
深入了解谷歌搜索语法:提高搜索精度与信息获取效率
天然气相对密度会随压力和温度变化吗?
Web3钱包开发的全面探索与实践
女性头部和上半身出汗多挂什么科室检查
GPU显卡天梯图详解:2024年4月最新整理
如何增加字数:8 个简单技巧
心率过快怎么改善
全屋定制环保板材选择秘籍:健康环保实用一举三得
思诺思安眠药的使用说明与注意事项
“治风先治血,血行风自灭”的中医智慧
省直事业单位的晋升机制是怎样的
年轻人为何痴迷于玄学?
酒后第二天手麻怎么缓解
如何选择i5-8400的最佳搭配?搭配时需要注意哪些问题?
追寻人物个性的细致描写小说中人物形象塑造艺术
美联储降息周期,哪些板块受益最大?
密封胶泥会越来越硬吗
如何安全带着猫去宠物医院(掌握以下技巧)
如何制造生日的惊喜
咸鱼之王辅助武将强度排行榜
黑格尔视角下的人性悖论:欲望的双刃剑
宅基地使用权归属问题详解:家庭成员、未成年人和老年人权益如何认定?
逃离大城市:三四线宜居小城指南
秦岭淮河:一条分隔南北的自然界线,更是一道文化的桥梁
互相喜欢的两个人,才会这样聊微信
无畏契约人机模式怎么开?攻略详解
剖腹产后饮食指南:吃什么有助于身体恢复和乳汁分泌?