count(1)和count(*)的区别?
今天前,我一直觉得count(1)优先于count(*),但是,今天想知道其缘由,查了一下百度,闪瞎我的双眼。
从执行结果来说:
count(1)和count(*)之间没有区别,因为count(*)count(1)都不会去过滤空值,
但count(列名)就有区别了,因为count(列名)会去过滤空值。
从执行效率来说:
他们之间根据不同情况会有些许区别,MySQL会对count(*)做优化。
(1)如果列为主键,count(列名)效率优于count(1)
(2)如果列不为主键,count(1)效率优于count(列名)
(3)如果表中存在主键,count(主键列名)效率最优
(4)如果表中只有一列,则count(*)效率最优
(5)如果表有多列,且不存在主键,则count(1)效率优于count(*)
补充关于count(1)count(*)原理 引用百度知道专业回答
count(1),其实就是计算一共有多少符合条件的行。
1并不是表示第一个字段,而是表示一个固定值。
其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1。
count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些。
原创不易,转载自:https://blog.csdn.net/qq_34696236/article/details/84376507
count(1)和count(*)的区别?相关推荐
- count(1)、count(*) 与 count (列名) 的执行区别
(给视学算法加星标,提升数据技能) 转自:BigoSprite https://blog.csdn.net/iFuMI/article/details/77920767 执行效果: 1.count( ...
- 关于数据库优化1——关于count(1),count(*),和count(列名)的区别,和关于表中字段顺序的问题...
1.关于count(1),count(*),和count(列名)的区别 相信大家总是在工作中,或者是学习中对于count()的到底怎么用更快.一直有很大的疑问,有的人说count(*)更快,也有的人说 ...
- 执行COUNT(1)、COUNT(*) 与 COUNT(列名) 到底有什么区别?
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:干掉 Navicat:这个 IDEA 的兄弟真香!个人原创100W+访问量博客:点击前往,查看更多 来源:blo ...
- mysql中count(*)和count(1)和count(column)区别
在日常的mysql使用中,我们经常会看到SELECT COUNT(*).SELECT COUNT(1)等查询语句,他们到底有什么区别呢?今天我就来总结下. 我们先从函数的含义说起: count() 统 ...
- 面试官 | count(1)、count(*) 、count(列名) 有什么区别?
作者 | BigoSprite 来源 | 39sd.cn/0926A 先看执行效果: 1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比 ...
- select count(*)和select count(1)的区别
一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的 假如表沒有主键(Primary key), 那么count(1)比count(*)快, 如果有主键的話 ...
- sql 在某表中加入一列count所有数据_执行COUNT(1)、COUNT(*) 与 COUNT(列名) 到底有什么区别?...
击关注上方"SQL数据库开发", 设为"置顶或星标",第一时间送达干货. 1. count(1) and count(*) 从执行计划来看,count(1)和 ...
- 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 ...
- select count(*) 和 select count(1) 以及 select count(column) 的区别
考试,目的在于让自己明白,自己天天写的都是垃圾 select count(*) 和 select count(1) 以及 select count(column) 的区别 1.如果表沒有主键, 那么c ...
- mysql常量求和_Mysql之:count(*)、count(常量)、count(字段)的区别
count函数暗藏很多玄机,学习之前先尝试回答以下几个问题吧: > 1.COUNT有几种用法? > 2.COUNT(字段名)和COUNT(*)的查询结果有什么不同? > 3.COUN ...
最新文章
- 寫博客過程中遇到的問題
- python tqdm_Python基础 | 一个被忽视的神器tqdm
- SAP PP使用ECR去修改BOM主数据
- Go 语言 bytes.buffer write 相关操作
- 卷积神经网络新手指南 2
- The executable was signed with invalid entitlements
- NSDateFormatter设定日期格式
- 你还在为文件读写而烦恼?Python已经轻松帮你解决了(建议学习)
- PHP中||与or的区别
- 如何避免JDBC内存溢出问题
- oracle递归查询路径,oracle递归查询记录
- Volatile的实现原理(看这篇就够了)
- 拓端tecdat|Nelsen-Siegel—Svensson扩展模型简介
- [转]WebGL中文教程
- JDK获取所有的系统参数
- 《遥感原理与应用》孙家抦版知识点总结(含简答题)——第四章
- 在讯用矿物质防火电缆时应该注意什么?
- flutter页面布局HTML,Flutter开发实战初级(2)页面布局详解
- 广东工业大学数据结构AnyView参考答案
- 什么是ESB(企业服务总线)
热门文章
- 金融和计算机专业男女比例,大学中最容易找女朋友的5大专业,金融上榜,第一名就像身处天堂!...
- python自动生成企业名称查重脚本。
- 达梦数据库迁移,无法使用dts时怎么办。
- 批量修改文件后缀(无后缀有后缀的原文件均可)
- 51单片机最小时钟电路
- 联发科,请先学会拒绝
- 加拿大安省哪个高中注重计算机,加拿大安省高中选课指导
- 计算机主机箱拆箱,【转】工控机电脑主机 IABOX N10准系统开箱报告
- 计算机每次开机配置更新失败,win10系统开机总是提示配置windows更新失败的解决方案...
- 手机相册里android照片的来源,为什么手机相册总是出现不知道哪里来的照片?...