Select count(*)和Count(1)的区别和执行效率比较
在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)的区别和执行效率比较相关推荐
- count(1)、count(*)、count(列名)的含义、区别、执行效率
维护同事的代码发现他的 sql 查询记录条数都是 count(1),而我则习惯用 count(*),这有什么区别呢? 含义: 1.count(*) :统计所有的行数,包括为null的行(COUNT(* ...
- in和exists的区别与执行效率问题解析
2019独角兽企业重金招聘Python工程师标准>>> in可以分为三类: 1.形如select * from t1 where f1 in ( &apos:a &a ...
- Java字节流与字符流的区别和执行效率
区别: 1.字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的 2.字节流在操作文件时,即使不关闭资源(close方法),文件也能输出,但是 ...
- 关于数据库优化1——关于count(1),count(*),和count(列名)的区别,和关于表中字段顺序的问题...
1.关于count(1),count(*),和count(列名)的区别 相信大家总是在工作中,或者是学习中对于count()的到底怎么用更快.一直有很大的疑问,有的人说count(*)更快,也有的人说 ...
- mysql常量求和_Mysql之:count(*)、count(常量)、count(字段)的区别
count函数暗藏很多玄机,学习之前先尝试回答以下几个问题吧: > 1.COUNT有几种用法? > 2.COUNT(字段名)和COUNT(*)的查询结果有什么不同? > 3.COUN ...
- MySQL的count(*) ,count(1),count(id)的区别
数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查. 在数据库的增删改查操作中,使用最频繁的就是查询操作.而在所有查询操作中,统计数量操作更 ...
- 你当真了解count(*)count(id)count(1)吗?
首先什么是count? 关于count函数,在mysql中也有描述: 简单翻译一下: 1.COUNT(expr) ,返回SELECT语句检索的行中expr的值不为NULL的数量.结果是一个BIGINT ...
- select count(*)加其他字段_count(1)、count(*) 与 count(列名) 的执行区别
(给ImportNew加星标,提高Java技能) 作者:BigoSprite blog.csdn.net/iFuMI/article/details/77920767 执行效果: 1. count( ...
- 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 ...
最新文章
- Swift编程语言学习10—— 枚举属性监视器
- Java中使用SQLite数据库
- mysql 交集_MySQL 查询结果取交集的实现方法
- 巧用 TypeScript Literal Types 模拟枚举类型
- react学习(25)---注意接口引入位置
- html5做一个展示页面,基于HTML5的WebGL实现json和echarts图表展现在同一个界面
- scala中的二维数组_Scala中的多维数组
- C++概述部分内容记录
- 在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
- MySQL(14) 数据库优化方案
- 平面设计ps/ai/cdr
- dev-cpp linux,QT4+Devcpp开发环境搭建(参照网上资料整理)
- Spring Cloud(十二):Spring Cloud Zuul 限流详解(附源码)(转)
- html学习——介绍
- 操作系统-进程状态变迁分析
- java斜椭圆_JAVA 任意椭圆方向画法
- 正则,grep命令详解
- 炒作房地产对个人三观之扭曲
- oracle utl_file fcopy,ORACLE之UTL_FILE包详解
- mysql 以什么结尾查询_MySQL查询选择以某些字符/数字结尾的列值?