2019独角兽企业重金招聘Python工程师标准>>>

count(*),count(1)和count(字段)的区别

之前在写sql语句时,常常使用count(*)来执行查询数据条数,也使用过count(字段)来针对某一特殊字段进行查询,今天接触到了count(1)也可以用来进行数据统计,下来查看资料,对它们有了一定的了解。

很多人认为count(1)执行的效率会比count()高,原因是count()会存在全表扫描,而count(1)可以针对一个字段进行查询。其实不然,count(1)和count(*)都会对全表进行扫描,统计所有记录的条数,包括那些为null的记录,因此,它们的效率可以说是相差无几。而count(字段)则与前两者不同,它会统计该字段不为null的记录条数。

下面它们之间的一些对比:

1)在表没有主键时,count(1)比count(*)快;

2)有主键时,主键作为计算条件,count(主键)效率最高;

3)若表格只有一个字段,则count(*)效率较高。

转载于:https://my.oschina.net/u/3136594/blog/2999777

count(*),count(1)和count(字段)的区别相关推荐

  1. MySQL count(*)、count(1) 和count(字段)的区别以及count()查询优化手段

    MySQL的count(*).count(1) 和count(字段)的区别以及count()查询优化手段. 文章目录 1 几种count查询的区别 2 优化COUNT()查询 1 几种count查询的 ...

  2. count(*)、count(1)、count(字段)的区别

    在统计记录行中常常会使用到count函数,通常有count(*),count(1),count(字段)这几种写法,在实际执行中可能有些许区别. count(字段) 如果字段中包含null,不会被统计记 ...

  3. sql中 count(*),count(1)以及count(字段)的区别

    前言 记得很早以前就听说,在使用count的时候要用count(1)而不要用count(*),因为使用count(*)的时候会对所有的列进行扫描,相比而言count(1)不用扫描所有列,所以count ...

  4. 数据库面试题【十九、count(字段) count(主键 id) count(1)count(*)的区别】

    count(可空字段) 扫描全表,读到server层,判断字段可空,拿出该字段所有值,判断每一个值是否为空,不为空则累加 count(非空字段)与count(主键 id) 扫描全表,读到server层 ...

  5. count(*)和count(1)和count(字段)的区别

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

  6. select count(1) 、select count(*) 、select count(字段)的区别、及性能

    select count(*) from teacher; //11 select count(1) from teacher; //11 select count(id) from teacher; ...

  7. count(*)和count(1)和count(列名)的区别

    count是一种最简单的聚合函数,一般也是我们第一个开始学习的聚合函数,那么他们之间究竟由什么区别呢? 有的人说count(1)和count(*)他们之间有区别,而有的人说他们之间没有区别那么他们之间 ...

  8. count(*),count(1),count(列)区别

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

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

    count(*).count(1)和count(列名)的区别 1.执行效果上:   l  count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL l  count(1)包 ...

  10. 关于sql语句中的count(*),count(1),count(具体字段)的介绍

    在sql语句中有一个聚合函数count():这个函数里面可以写*,可以写数字(不仅仅只可以写1),可以写具体字段,他们之间有什么区别呢? 查阅资料得知,count(*)与count(1)在各种数据库服 ...

最新文章

  1. 洛谷——P2035 iCow
  2. OpenGL的几何变换4之内观察全景图
  3. 服务机器人---方案设计中需要评估确认的点
  4. android 按钮动画效果_【css特效】按钮动画 - 按压效果
  5. HTML5新增的video标签,HTML5中video标签的使用方法
  6. php png 输出,PHP直接输出一张图片代码写法
  7. Maven异常总结001---Maven project导入到myeclipse时候出现异常:could not get mojo execution paramater value
  8. Hadoop,HBASE启动命令
  9. 华为access、trunk、hybird接口从tag和untag进行了解。
  10. 爱特php文件管理器2.8_爱特全能网站文件专家
  11. ofdm导频信道估计matlab,基于导频的OFDM系统信道估计
  12. java rtf读取,java读取rtf
  13. 英语口语常用1368词汇
  14. 详解数据库三大范式、BCNF范式
  15. uniapp 微信支付功能
  16. 挑战练习13.6 删除crime 记录
  17. 中断处理过程示意图_中断服务程序流程图
  18. python语言支持中文输出_python2输出汉字的解决办法暨python2/python3的编码环境参数的查看-Go语言中文社区...
  19. MapReduce中名字的通俗解释--故事会
  20. 机器学习-新闻分类案例

热门文章

  1. 适合自己的才是最好的
  2. 第九章 深度强化学习-Double DQN
  3. OpenCV获取图像的高和宽(Iplimage)
  4. 【Matlab学习笔记】【函数学习】一(延时函数pause)
  5. 二进制“==”: 没有找到接受“Point”类型的左操作数的运算符(或没有可接受的转换)
  6. Fragstats 4.2 批处理(geotiff格式)
  7. 详解第一个CUDA程序kernel.cu
  8. sns.barplot/sns.countplot/sns.boxplot参数设置
  9. python 删除满足条件的行
  10. GEE学习总结(2)——点矢量绘制与坐标系问题