mysql count count id_mysql 为什么count(*)快于count(id)
其实,挺正常的,count的用法大概有两个,不过一般大家不太注意:
统计某个列( 俗称字段 )有多少个有效值,也就是值不是null的有多少个。
统计记录有多少行,我背诵过的规则是这样的:当count()括弧的表达式被认为不可能为空时,就会自动忽略所有列,直接统计结果记录一共多少行。曾经以为,*的时候,会自动扩展展开所有的列,其实不是。可能是受select(星号)影响。
当不指定条件的时候,count是很快的,指定条件速度会下降。
mysql在设计上,count(星号)性能是很快的,即便是加上where,它就是要比count(col)快,因为count(col)要判断每行是不是NULL,而count( 星号 )也并不是想象中那样扩展所有列,它会直接忽略列而直接统计结果集行数,只要有行就纳入统计,具体这行每列的值是什么对它来说根本不重要,跟select(*)是不同的。
结论就是,如果你要统计记录条数一共多少条,一定要用count(*),而不是count(col),它的性能会更好。当引擎发现你的col不可能为null的时候,它会将col转换成星号,如果楼主用的id时主键,那么其实会被转化成星号,这转化也是耗费性能的。
补充一下:myisam引擎状况下,如果不指定where条件,那么myisam是很迅速,因为不指定条件会直接读取存储引擎存储的一个特殊字段,值是总行数,但是一旦指定where条件,迅速的神话也就没了,沦落和其他引擎差不多了。
易企达10年行业沉淀!专业小程序、公众号H5、APP定制开发
本文原地址:https://www.eqiday.com/66.html
郑重声明内容版权声明:除非注明,否则皆为本站原创文章。如有侵权联系进行删除!
mysql count count id_mysql 为什么count(*)快于count(id)相关推荐
- mysql innodb count_MySQL下INNODB引擎的SELECT COUNT(*)性能优化及思考
正 文: MySQL下INNODB引擎的SELECT COUNT(*)性能优化及思考 最近有项目有高并发需求,服务器采用负载均衡,数据库采用阿里云的RDS MYSQL,16核64G内存,连接数:160 ...
- mysql count里面能加条件吗_select count(1) 和 count(*),哪个性能更好?
相信很多小伙伴都想了解 count(1) 和 count(*) 的性能问题 ,今天给大家做一下测试. 声明:本文使用MySql数据库,数据库表里面有100万条数据. 先测试 count(*) 可以看出 ...
- select count(*) from返回值_MySQL 优化:count(1)真的比count(*)快吗
在实际项目开发中一定会有统计记录数的需求,比如统计用户数,像一些电商系统后台首页会统计订单量.上架商品数量等等,涉及到统计就离不开聚合函数 count() ,开发中常用写法如下: select cou ...
- 【MySQL】基于MySQL的SQL优化(二)——对count()、max()的优化
*本文章使用数据均来自MySQL样本数据库Sakila,参考:https://blog.csdn.net/tanglei6636/article/details/93042010 max(): 通过一 ...
- Mysql与Sql server,Sum函数跟Count函数
两者均是统计类函数,都不计算NULL字段!!! 单纯计算行数的话,count的效率比sum的效率高 MySQL SUM()函数介绍 SUM()函数用于计算一组值或表达式的总和,SUM()函数的语法如下 ...
- oracle count最快的方法,Oracle count哪种写法更快
1)创建测试表 test@CISCOSYS> create table t as select * from dba_objects; 表已创建. test@CISCOSYS> updat ...
- mysql语句性能优化-使用case when 代替count(*)
文章目录 前言 一.问题SQL 二.修改后SQL 总结 前言 负责运维的项目有个页面加载特别慢,打开差不多要2分钟,但是页面数据并不算多,只有几百条.为了把页面加载速度慢的问题解决,通过查看后台日志, ...
- select count(*)加其他字段_count(1)、count(*) 与 count(列名) 的执行区别
(给ImportNew加星标,提高Java技能) 作者:BigoSprite blog.csdn.net/iFuMI/article/details/77920767 执行效果: 1. count( ...
- count返回0_你是一直认为 count(1) 比 count(*) 效率高么?
MySQL count(1) 真的比 count(*) 快么? 反正同事们都是这么说的,我也姑且觉得对吧,那么没有自己研究一下究竟?如果我告诉你他们一样,你信么? 有 Where 条件的 count, ...
- 如何理解 select * from B where (select count(1) as num from A where A.ID = B.ID) = 0
如何理解 select * from B where (select count(1) as num from A where A.ID = B.ID) = 0 为什么 可以在B表中 排除A表的数据 ...
最新文章
- 消息队列的使用场景_消息队列MQ的特点、选型及应用场景
- 入坑推荐系统,从Google这篇开始
- Diversity HDU - 6725
- 华为什么时候更新鸿蒙os,华为鸿蒙系统升级时间表
- 最大化BEA WebLogic Cluster的性能、可用性和安全
- filter滤镜实现img图片的CSS蒙版效果、模糊效果
- ionic 配置java_Ionic 项目配置环境
- JS实现数字千位符格式化方法
- easypoi list中的map导出_java导出excel(easypoi)
- 易用性软件测试用例,易用性测试用例集
- 【转】 Pro Android学习笔记(五八):Preferences(2):CheckBoxPreference
- 用友网络发布惠商云平台 五大价值构建企业互联网新生态
- SSM框架学习(2)CRM项目软件开发周期
- ps照片人像油画复古效果怎么做
- 55.网页设计规则#3_图片和插图
- 史上最全Maven教程(三)
- Hibernate - 对象关系映射文件(*.hbm.xml)详解
- python 版本错误导致的 roscore 问题
- 常用的计算机有哪些台式的还有哪些,现在台式电脑的主流配置有哪些?
- 滑模变结构控制(2)--RBF神经网络
热门文章
- Windows Server 2012 R2 里面如何安装Net Framework 3.5
- Spring--quartz中cronExpression 的配置方法
- oracle数据库导入_oracle数据库导入数据
- Delphi多媒体设计之TMediaPlayer组件(二)
- EntitySpaces2009的开发文档地址
- weblogic在处理jsp tag的scope属性时的BUG???
- select怎么设置默认值_20200817:详细说下数据倾斜怎么解决?
- c语言int a什么意思,问一下吧里大神 int a = a; 这么定义是什么意思?
- [转载] Python3.0中普通方法、类方法和静态方法的比较
- vue ani_ANI的完整形式是什么?