
面试官问:SQL语句中你还认为count(1) 比count(*) 效率更高吗?
1. count(1) and count(*)
2. count(1) and count(字段)
两者的主要区别是
1) count(1) 会统计表中的所有的记录数,包含字段为null 的记录。
2) count(字段) 会统计该字段在表中出现的次数,忽略字段为null 的情况。即不统计字段为null 的记录。
3. count(*) 和 count(1)和count(列名)区别
执行效果上:
count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL
count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL
count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。
执行效率上:
列名为主键,count(列名)会比count(1)快
列名不为主键,count(1)会比count(列名)快
如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)
如果有主键,则 select count(主键)的执行效率是最优的
如果表只有一个字段,则 select count(*)最优。
4. 实例分析
作者:BigoSprite blog.csdn.net/iFuMI/article/details/77920767
公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!
最近有很多人问,有没有读者交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!
(微信小程序):3000+道面试题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计等,在线随时刷题!
特别推荐:专注分享最前沿的技术与资讯,为弯道超车做好准备及各种开源项目与高效率软件的公众号,「大咖笔记」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片关注。
文章有帮助的话,点在看,转发吧!
上一篇:湖南浏阳:项目攻坚的浏阳之势
下一篇:普陀区领导干部“组团”赴松江开展培训
最近更新教育资源
- “一把手”坐窗口跟执法 提质增效解难题
- 下一次面对难题时,也许你会庆幸读过这五本经典|思维品书
- 原创尹天琪力擒小鸟球,成就LPGA首冠!惊险加洞决战引发热议!
- 为国际教育合作赋能 重庆一中与荷兰格纹贝克学校友好互访
- 2023阿拉尔·亚洲旅游形象代言人选拔大赛半决赛在阿拉尔市拉开晋级之战
- 【先进典型】凤冈大杉顶上的“超人妈妈”
- 从“去上海”到“来闵行”,逛街不用去徐家汇了……丨闵行情
- 振兴西部教育 银龄教师“老有所为”
- 加拿大研究生有多少类别
- 烟台坚持法治赋能,助力奔赴“万亿之城”
- 超2000人参与全市《国家体育锻炼标准》达标测验,达标率超96%
- 青岛:职业教育助推“大国工匠”脱颖而出
- 故宫博物院:11月起严格实施上、下午预约入园制
- 信阳秋季旅游露营地推荐
- 新海南财经观察 | 海南:“非遗+旅游”如何融入现代生活?
- 全国举重冠军赛男子61公斤级比赛 福建广东四川各揽一金
- 试运营期间免费!再添出川大通道→
- 职教齐鲁出彩职教生丨不同赛道 同样精彩
- 为传统中医药融入现代元素
- 调查显示超九成受访青年希望提升工作技能
- 社工考证热升温,济南持证人数创新高
- “三化”建设|山东司法警官职业学院:聚力“三化”建设 实现招生就业工作新跨越
- 走捷径读博士?90后研究生被骗12万!警方提醒
- 天合光能多次募资扩产三季报预增 公司回应股价腰斩问题
- 截至9月底,河南普通干线公路投资已完成全年目标的121.8%