含义:

1、count(*) :统计所有的行数,包括为null的行(COUNT(*)不单会进行全表扫描,也会对表的每个字段进行扫描。而COUNT('x')或者COUNT(COLUMN)或者COUNT(0)等则只进行一个字段的全表扫描)。

2、count(1):计算一共有多少符合条件的行(其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1..同理,count(2),也可以,得到的值完全一样,count('x'),count('y')都是可以的。count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些。)

3、count(列名):查询列名那一列的,字段为null不统计。

执行效果:

1、count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL。

2、count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL。

3、count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空。

执行效率:

  1. 列名为主键,count(列名)会比count(1)快
  2. 列名不为主键,count(1)会比count(列名)快
  3. 如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)
  4. 如果有主键,则 select count(主键)的执行效率是最优的
  5. 如果表只有一个字段,则 select count(*)最优

count(1)、count(*)、count(列名)的区别相关推荐

  1. count(1)、count(*) 与 count (列名) 的执行区别

    (给视学算法加星标,提升数据技能) 转自:BigoSprite https://blog.csdn.net/iFuMI/article/details/77920767 执行效果:  1.count( ...

  2. 关于数据库优化1——关于count(1),count(*),和count(列名)的区别,和关于表中字段顺序的问题...

    1.关于count(1),count(*),和count(列名)的区别 相信大家总是在工作中,或者是学习中对于count()的到底怎么用更快.一直有很大的疑问,有的人说count(*)更快,也有的人说 ...

  3. 执行COUNT(1)、COUNT(*) 与 COUNT(列名) 到底有什么区别?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:干掉 Navicat:这个 IDEA 的兄弟真香!个人原创100W+访问量博客:点击前往,查看更多 来源:blo ...

  4. MySQL COUNT函数优化及count(1)/count(*)/count(列名)的区别

    count函数优化 使用近似值: 在某些应用场景中,不需要完全精确的值,可以参考使用近似值来代替,比如可以使用explain来获取近似的值.其实在很多OLAP的应用中,需要计算某一个列值的基数,有一个 ...

  5. 面试官 | count(1)、count(*) 、count(列名) 有什么区别?

    作者 | BigoSprite 来源 | 39sd.cn/0926A 先看执行效果: 1.  count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比 ...

  6. sql 在某表中加入一列count所有数据_执行COUNT(1)、COUNT(*) 与 COUNT(列名) 到底有什么区别?...

    击关注上方"SQL数据库开发", 设为"置顶或星标",第一时间送达干货. 1.  count(1) and count(*) 从执行计划来看,count(1)和 ...

  7. MySQL中count(1)、count(*) 与 count(列名) 的执行区别

    执行效果: 1.count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count()用时多了! 从执行计划来看,count(1)和count() ...

  8. count(*)、count(1)、count(0)、count(列名)区别

    count(*).count(1).count(0).count(列名)区别 1.count(*).count(1): count(*)对行的数目进行计算,包含NULL,count(1)这个用法和co ...

  9. count(0)、count(1)和count(*)、count(列名) 的区别

    当我们对一张数据表中的记录进行统计的时候,习惯都会使用 count 函数来统计,但是 count 函数传入的参数有很多种,比如 count(1).count(*).count(字段) 等. 到底哪种效 ...

  10. 区别:count(1) 和 count(*)和count(列名)

    执行效果上: count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL: count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL: co ...

最新文章

  1. 如何使用 Python 操作 Git 代码?GitPython 入门介绍
  2. 【移动开发】Android中不用图片资源也能做出好看的界面
  3. cad vba 打开文件对话框_CAD文件损坏?无法打开?别急,这八种方法或许能帮到你...
  4. 结对-贪吃蛇游戏-设计文档
  5. 雅诗兰黛天猫超级品牌日:未央唇膏、红装小棕瓶“当红不让”
  6. LeetCode之Two Sum II - Input array is sorted
  7. 品牌直播启动的三个关键点
  8. 2018/4/7 Mybatis源码结构概览
  9. IDC预测:2021vCPE软硬件市场将达到30亿美元
  10. newifimini出厂固件_新路由newifi固件
  11. (转载)费玉清生活清贫 是低调大富翁
  12. Ubuntu使用cmake出现Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  13. Win11鼠标右键默认显示更多,保持跟Win10一致
  14. 2020年3大免费又好用的BI工具软件
  15. java jbutton 文字颜色_java – 如何更改JButton的文本颜色
  16. vue设置页面的高度100%
  17. 淘宝店铺商品发布API(新)接口,店铺上传接口代码对接教程
  18. 基于Vue实现微前端
  19. Mathematica SPWM
  20. linux 解压rar格式的文件怎么打开,linux服务器怎么解压rar格式的文件

热门文章

  1. python使用opencv方法将签名图片自动插入到图片任意位置
  2. ios应用实现五星好评
  3. python 离线图片文字识别(OCR)Tesseract
  4. Unity Multiple_Graph_And_Chart_UI_Pack 可视化UI插件
  5. 《实用机器学习》(孙亮 黄倩.著)笔记——第一章 引论
  6. 【Netty】对象重用的秘密:Recycler源码分析
  7. 分子筛(合成沸石)-硅铝酸盐多微孔晶体
  8. loadrunner发送json_loadrunner xml脚本和json脚本
  9. 母婴电商市场已成红海,贝贝网能否打破命运的藩篱?
  10. 自然摄影指南——第一章:曝光:多重曝光