MySQL中count(1),count(*),count(某字段)等用法联系和区别
一. 从执行结果来看
count(*):所有行进行统计,包括NULL行count(1):所有行进行统计,包括NULL行count(column):对column中非Null进行统计
二. 从执行效率上看
他们之间根据不同情况会有些许区别,MySQL会对count(*)做优化。
(1)如果列为主键,count(列名)效率优于count(1) (2)如果列不为主键,count(1)效率优于count(列名) (3)如果表中存在主键,count(主键列名)效率最优 (4)如果表中只有一列,则count(*)效率最优 (5)如果表有多列,且不存在主键,则count(1)效率优于count(*)
三. count(1)原理
count(1),其实就是计算一共有多少符合条件的行。1并不是表示第一个字段,而是表示一个固定值。
其实就可以想成表中有这么一个字段:这个字段就是固定值1,count(1),就是计算一共有多少个1。
四. count(*)原理
count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的。
不过多了一个翻译的动作,比固定值的方式效率稍微低一些。
MySQL中count(1),count(*),count(某字段)等用法联系和区别相关推荐
- MySQL中的升序降序以及字段的升序降序
MySQL中 升序为asc 降序为desc 例如: 升序:select * from 表名 order by 表中的字段 asc(MySQL中默认是升序排列,可不写) : 降序:select ...
- MySQL中的哥哥表、妹妹字段,是什么鬼?
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处. 晚上,我被叫进宽大的办公室,总监正在煮茶.高压锅煮着长嘴茶壶,水蒸气缭绕.领导举手之间,淡黄茶水奔涌而出,倒立而下浇上茶叶 ...
- alter在MySQL中是什么意思_MySql之ALTER命令用法详细解读(转)
本文详细解读了MySql语法中Alter命令的用法,这是一个用法比较多的语法,而且功能还是很强大的. USE learning;(自己要提前建好) CREATE TABLE student(id IN ...
- MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别
文章目录 一.背景知识 二.MySQL 中 KEY 与 INDEX 区别 三.key的总结和分类 四.INDEX索引介绍 五.PRIMARY KEY 和 UNIQUE KEY 的区别 六.操作索引 一 ...
- mysql中unsigned怎么用_mysql 数据库unsigned的用法
在mysql数据库中,unsigned表面含义是 '无符号'的意思,unsigned既为非负数,用此类型可以增加数据长度. 例如,如果 int最大是2147683647,那 tint unsi ...
- mysql中 top是什么意思_mysql top的用法是什么
我就废话不多说了,大家还是直接看代码吧~create or replace function aa1(a1 integer[],a2 bigint) returns void AS $$declare ...
- mysql中bigint、int、mediumint、smallint 和 tinyint的区别
最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint.其中比较迷惑的是int和smallint的差别.今天就在网上仔细找了找,找到如下内容, ...
- mysql中using index、using where、using index condition的区别
using index.using where.using index condition using index :使用覆盖索引的时候就会出现,测试发现主键索引也会生效 using where:在查 ...
- MySQL中date、datetime、timestamp、time、year的区别
前言 表示时间值的日期和时间类型为DATETIME.DATE.TIMESTAMP.TIME.YEAR. 每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示 ...
最新文章
- Q:一个经典的helloworld程序需要几个文件?
- 简单java题_java
- oracle中触发器的语法,解析Oracle触发器的语法
- 前端学习(3349):数组方法的运用和数值
- C++ opencv的一些基础知识
- 分布式文件系统-HDFS( HDFS全称是Hadoop Distributed System)
- 具体案例 快速原型模型_3D打印机器人手板模型,低成本快速原型打样
- 苹果Mac移动复制文件效率工具:Yoink
- latex \textsuperscript{\dagger} 报错
- 一个可以在Linux环境下找到,杀死,并重启Tomcat的脚本
- android .9图片如何引用,Android调用相机拍照并返回路径和调用系统图库选择图片...
- linux安装i3wm桌面环境,ArchLinux基本安装后安装i3wm基本环境
- 一位全减器逻辑电路图_一种一位全减器电路的制作方法
- 伪原创工具哪个好用,自媒体伪原创文章生成器软件
- 在线流程图和思维导图开发技术详解(一)
- 计算机nas一般指用户,NAS网络存储器·什么是网络服务
- etcd教程(二)—clientv3简单使用
- 985 211计算机考研科目,考研想上985/211,你各科分数至少要考这么多!
- Java中Scanner 的用法/ Scanner怎么使用
- 《Graph Learning》| HIN-基于元路径的相似度