在MySQL中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的。经常会看到一些所谓的优化建议不使用Count(* )而是使用Count(1),从而可以提升性能,给出的理由是Count( *)会带来全表扫描。

Count(1)和Count(*)实际上的意思是,评估Count()中的表达式是否为NULL,如果为NULL则不计数,而非NULL则会计数。比如我们看代码1所示,在Count中指定NULL(优化器不允许显式指定NULL,因此需要赋值给变量才能指定)。

下面给出一个实际的查询时间的比较,从中可以看出Count(1)确实要比Count(*)的效率高,查询时间也要短的多!!!下面上图:

中间省略掉

.......................................................

下面分别比较两种方式的实际耗时:

(1)使用coun(*)方式

(2)使用coun(1)方式

这还是在仅几千条数据的情况下的时间,实际上当面临上千万条数据时候,二者的效率和时间差将会更加明显的。

Select count(*)和Count(1)的区别和执行效率比较相关推荐

  1. count(1)、count(*)、count(列名)的含义、区别、执行效率

    维护同事的代码发现他的 sql 查询记录条数都是 count(1),而我则习惯用 count(*),这有什么区别呢? 含义: 1.count(*) :统计所有的行数,包括为null的行(COUNT(* ...

  2. in和exists的区别与执行效率问题解析

    2019独角兽企业重金招聘Python工程师标准>>> in可以分为三类: 1.形如select * from t1 where f1 in ( &apos:a &a ...

  3. Java字节流与字符流的区别和执行效率

    区别: 1.字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的 2.字节流在操作文件时,即使不关闭资源(close方法),文件也能输出,但是 ...

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

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

  5. mysql常量求和_Mysql之:count(*)、count(常量)、count(字段)的区别

    count函数暗藏很多玄机,学习之前先尝试回答以下几个问题吧: > 1.COUNT有几种用法? > 2.COUNT(字段名)和COUNT(*)的查询结果有什么不同? > 3.COUN ...

  6. MySQL的count(*) ,count(1),count(id)的区别

    数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查. 在数据库的增删改查操作中,使用最频繁的就是查询操作.而在所有查询操作中,统计数量操作更 ...

  7. 你当真了解count(*)count(id)count(1)吗?

    首先什么是count? 关于count函数,在mysql中也有描述: 简单翻译一下: 1.COUNT(expr) ,返回SELECT语句检索的行中expr的值不为NULL的数量.结果是一个BIGINT ...

  8. select count(*)加其他字段_count(1)、count(*) 与 count(列名) 的执行区别

    (给ImportNew加星标,提高Java技能) 作者:BigoSprite blog.csdn.net/iFuMI/article/details/77920767 执行效果: 1.  count( ...

  9. mysql select count() count(1)_select count()和select count(1)的区别和执行方式讲解

    select count()和select count(1)的区别和执行方式讲解 发布时间:2020-09-06 13:26:14 来源:脚本之家 阅读:227 作者:CODETC 在SQL Serv ...

最新文章

  1. 第三章 处理机调度与死锁
  2. Paxos、ZAB、RAFT协议
  3. oracle %date 0 10%,“date:~0,10%“是什么意思?
  4. HTML郑州宅急送试题
  5. 技术大神有话说,别让新业绩为旧设备背锅
  6. TCA9548A iic地址扩展器件 树莓派JAVA版教程
  7. 五分钟了解DOM 事件模型
  8. PHP+MYSQL+AJAX实现每日签到功能
  9. 专业音频术语中英文对照
  10. 住户水电费计算c语言程序,(小区水电费管理系统C语言.doc
  11. 论剑江湖服务器维护,楚留香629维护内容介绍 名剑天下论剑洗心见武深夜酒馆_游侠手游...
  12. 2020最新天猫双十一自动获取喵币
  13. NginxWebUI--强大的nginx可视化配置工具
  14. 获取所有选中的复选框
  15. 您无法登录 MSN Messenger
  16. Windows 2012 R2服务器的80端口被IIS占用的最好处理办法
  17. Qt中model/view设计模式
  18. 出租车GPS轨迹数据和手机数据的研究价值
  19. html5css3选择题,web前端技术(HTML5+CSS3)答案试题题目及答案,期末考试题库,章节测验答案...
  20. VB如何自动保存_VB小课堂初识VB

热门文章

  1. 前端学习(2087):v-on得修饰符使用案例
  2. 前端学习(1614):oracle数据库管理
  3. 前端学习(537):多列布局4横跨多列
  4. html:(24):内联式css和嵌入式css
  5. display:none和visibility:hidden两者的区别
  6. iOS新版微信底部返回横条问题
  7. ZT 类模板Stack的实现 by vector
  8. JavaScript 字符串转数字
  9. Ubuntu 无法应用原保存的显示器配置
  10. str和unicode类