count(*)和count(1)的区别是什么?
个人总结如下:
一、count(*)和count(1)查询速度
使用count函数,当要统计的数量比较大时,发现count(*)花费的时间比较多,相对来说count(1)花费的时间比较少。
1、如果你的数据表没有主键,那么count(1)比count(*)快 ;如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快 。
2、如果你的表只有一个字段的话那count(*)就是最快的。
3、如果count(1)是聚索引,id,那肯定是count(1)快,但是差的很小的。因为count(*),自动会优化指定到那一个字段。所以没必要去count(1),用count(*),sql会帮你完成优化。此时count(1)和count(*)基本没有区别!
二、count(*) 和count(列名) 两者查询差异的原因分析。
在数据记录都不为空的时候查询出来结果上没有差别的.
count(*)(是针对全表)将返回表格中所有存在的行的总数包括值为null的行;
count(列名)(是针对某一列)将返回表格中某一列除去null以外的所有行的总数。
三、引申
distinct 列名,得到的结果将是除去值为null和重复数据后的结果
---------------------
作者:李小白
来源:CSDN
原文:https://mp.csdn.net/postedit/89327782
版权声明:本文为博主原创文章,转载请附上博文链接!
count(*)和count(1)的区别是什么?相关推荐
- mysql 求count和_MySQL的统计总数count(*)与count(id)或count(字段)的之间的各自效率性能对比...
执行效果: 1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和coun ...
- Mysql之count(*),count(1),count(field)区别、性能差异
目录 前言 COUNT(*)与 COUNT(1) MyISAM引擎中的COUNT(*)与 COUNT(1) Innodb引擎中的COUNT(*)与 COUNT(1) 实验 原理 结论 Count(1) ...
- 你当真了解count(*)count(id)count(1)吗?
首先什么是count? 关于count函数,在mysql中也有描述: 简单翻译一下: 1.COUNT(expr) ,返回SELECT语句检索的行中expr的值不为NULL的数量.结果是一个BIGINT ...
- mySQL中col是什么意思_MySQL中count(*)、count(1)和count(col)的区别汇总
前言 count函数是用来统计表中或数组中记录的一个函数,count(*) 它返回检索行的数目, 不论其是否包含 NULL值.最近感觉大家都在讨论count的区别,那么我也写下吧:欢迎留言讨论,话不多 ...
- count=count++与count=++count
int count = 0;int num = 0;for(int i=0;i<=100;i++) {num=num+i;count=count++;}System.out.println(nu ...
- (count(*)和count(1)的区别
(count(*)和count(1)的区别 count(1) and count(*)两者的主要区别是: 1.执行效果上: count(1),其实就是计算一共有多少符合条件的行. 1并不是表示第一个字 ...
- count(1)、count(*) 与 count (列名) 的执行区别
(给视学算法加星标,提升数据技能) 转自:BigoSprite https://blog.csdn.net/iFuMI/article/details/77920767 执行效果: 1.count( ...
- select count(*)加其他字段_count(1)、count(*) 与 count(列名) 的执行区别
(给ImportNew加星标,提高Java技能) 作者:BigoSprite blog.csdn.net/iFuMI/article/details/77920767 执行效果: 1. count( ...
- 关于数据库优化1——关于count(1),count(*),和count(列名)的区别,和关于表中字段顺序的问题...
1.关于count(1),count(*),和count(列名)的区别 相信大家总是在工作中,或者是学习中对于count()的到底怎么用更快.一直有很大的疑问,有的人说count(*)更快,也有的人说 ...
最新文章
- 修改mdev配置支持SD卡自动挂载
- CUDA Libraries简介
- SAP Commerce Extension Module
- matlab逆变换法产生随机数_matlab数值积分方法(一)
- cmake,CMakeLists.txt,make,makefile的关系
- 黄聪:VS2017调试时提示“运行时无法计算表达式的值”
- 11.FreeRTOS学习笔记-内存管理
- Linux防火墙设置IP端口白名单
- AcWing 795. 前缀和
- Java怎么用继承回复信息_JAVA面向对象-继承
- 2.学习管理系统项目学习一
- nacos-demo feign调用
- c语言求一点到多点最短路径长度,C语言迪杰斯特拉实现最短路径算法(14页)-原创力文档...
- 关闭恶意无限弹窗的方法
- 【知识点总结】计算机操作系统
- 微信图片去除马赛克_怎么给图片打上马赛克(模糊处理、涂抹)
- 花样解锁方式:后置、屏下和侧面指纹,你觉得那种最好用
- Windows 10 已禁用输入法
- mysql取当前月份两位数_SQL获取当前时间月份为两位数
- ​春节档票房超30亿,互联网资本新旧势力赛跑
热门文章
- “互联网+房地产”给房产中介带来了什么?
- Oracle HRMS,PeopleSoft HR,SAP HR区别 主流HR软件对比分析
- 双圆环环布带系法图解_22种绳结的绑法,受用无穷,值得收藏!
- JMU-Python-分段函数
- wordpress使用_如何使用SearchWP改进WordPress搜索
- iOS性能优化 - 耗电优化
- 敏思跃动大数据教育规划平台正式上线,科技赋能树立业界新标杆
- 计算机视觉应用-圆或者圆点检测
- 服务器12种基本故障及排查方法
- lg g6 android 9,LG G6再无秘密:Android 7.0+18:9圆角屏