当前位置: 首页 > article >正文

sql专题 之 count()区别

文章目录

  • count(1)
  • count(*)
  • count(列名)
  • 比较

count(1)

count(1) 是对结果集中的每一行计数,不关注具体的列,只是计数行数。
每一行都计为常数1
等同于 count(*),性能上基本一致,但有时可能用于表达清晰性

count(*)

与count(1)类似。
计算表中所有符合条件的行数,无论行内列值是否为空

通常推荐count(*)作为行计数的通用写法
因为在innoDB引擎中,会优化为直接统计页数上的数量

count(列名)

是对特定列进行非空值的计数。只有当该列有实际值才会被计入。

常用于统计特定字段的有效数据量时,例如有多少学生的son不为空→count(sno)

比较

  • 当列中有大量的null值时,count(列名)需要遍历和检查每一行而count(*)不需要
  • 故从性能上来说,count(*)的性能要优于count(列)

http://www.kler.cn/a/392115.html

相关文章:

  • 【专题】计算机网络之网络层
  • 时间管理的三个痛点
  • 前端神经网络入门(三):深度学习与机器学习的关系、区别及核心理论支撑 - 以Brain.js示例
  • C/C++精品项目之图床共享云存储(3):网络缓冲区类和main
  • 图像处理实验二(Image Understanding and Basic Processing)
  • Flink_DataStreamAPI_输出算子Sink
  • 数据安全、信息安全、网络安全区别与联系
  • sql专题 之 sql的执行顺序
  • 网页web无插件播放器EasyPlayer.js播放器返回错误 Incorrect response MIME type 的解决方式
  • 做的图表配色太丑,怎么办?
  • react->Antd->Table调整checkbox默认样式
  • 贝式计算的 AI4S 观察:使用机器学习对世界进行感知与推演,最大魅力在于横向扩展的有效性
  • hive表名重命名、rename重命名
  • git config 保存密码
  • IT技术交流和分享平台(含报告)
  • golang分布式缓存项目 Day5 分布式节点
  • ssm093基于Java Web的毕业生就业状况管理系统设计与实现+jsp(论文+源码)_kaic
  • 谷歌浏览器支持的开发者工具详解
  • Linux符号使用记录
  • ubuntu20.04_从零LOD-3DGS的复现
  • 爬虫反爬机制和解决方案
  • 解决 ElSelect 数据量大导致加载速度慢
  • OpenGL【C++】台灯
  • 【AI换脸整合包及教程】深入了解Rope:一款强大的AI换脸工具及其技术原理
  • JavaScript 观察者设计模式
  • Scala的List(可变)