一. 从执行结果来看

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(某字段)等用法联系和区别相关推荐

  1. MySQL中的升序降序以及字段的升序降序

    MySQL中 升序为asc 降序为desc 例如: 升序:select   *  from  表名 order by  表中的字段 asc(MySQL中默认是升序排列,可不写) : 降序:select ...

  2. MySQL中的哥哥表、妹妹字段,是什么鬼?

    原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处. 晚上,我被叫进宽大的办公室,总监正在煮茶.高压锅煮着长嘴茶壶,水蒸气缭绕.领导举手之间,淡黄茶水奔涌而出,倒立而下浇上茶叶 ...

  3. alter在MySQL中是什么意思_MySql之ALTER命令用法详细解读(转)

    本文详细解读了MySql语法中Alter命令的用法,这是一个用法比较多的语法,而且功能还是很强大的. USE learning;(自己要提前建好) CREATE TABLE student(id IN ...

  4. MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别

    文章目录 一.背景知识 二.MySQL 中 KEY 与 INDEX 区别 三.key的总结和分类 四.INDEX索引介绍 五.PRIMARY KEY 和 UNIQUE KEY 的区别 六.操作索引 一 ...

  5. mysql中unsigned怎么用_mysql 数据库unsigned的用法

    在mysql数据库中,unsigned表面含义是 '无符号'的意思,unsigned既为非负数,用此类型可以增加数据长度. 例如,如果 int最大是2147683647,那    tint  unsi ...

  6. mysql中 top是什么意思_mysql top的用法是什么

    我就废话不多说了,大家还是直接看代码吧~create or replace function aa1(a1 integer[],a2 bigint) returns void AS $$declare ...

  7. mysql中bigint、int、mediumint、smallint 和 tinyint的区别

    最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint.其中比较迷惑的是int和smallint的差别.今天就在网上仔细找了找,找到如下内容, ...

  8. mysql中using index、using where、using index condition的区别

    using index.using where.using index condition using index :使用覆盖索引的时候就会出现,测试发现主键索引也会生效 using where:在查 ...

  9. MySQL中date、datetime、timestamp、time、year的区别

    前言 表示时间值的日期和时间类型为DATETIME.DATE.TIMESTAMP.TIME.YEAR. 每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示 ...

最新文章

  1. Q:一个经典的helloworld程序需要几个文件?
  2. 简单java题_java
  3. oracle中触发器的语法,解析Oracle触发器的语法
  4. 前端学习(3349):数组方法的运用和数值
  5. C++ opencv的一些基础知识
  6. 分布式文件系统-HDFS(   HDFS全称是Hadoop Distributed System)
  7. 具体案例 快速原型模型_3D打印机器人手板模型,低成本快速原型打样
  8. 苹果Mac移动复制文件效率工具:Yoink
  9. latex \textsuperscript{\dagger} 报错
  10. 一个可以在Linux环境下找到,杀死,并重启Tomcat的脚本
  11. android .9图片如何引用,Android调用相机拍照并返回路径和调用系统图库选择图片...
  12. linux安装i3wm桌面环境,ArchLinux基本安装后安装i3wm基本环境
  13. 一位全减器逻辑电路图_一种一位全减器电路的制作方法
  14. 伪原创工具哪个好用,自媒体伪原创文章生成器软件
  15. 在线流程图和思维导图开发技术详解(一)
  16. 计算机nas一般指用户,NAS网络存储器·什么是网络服务
  17. etcd教程(二)—clientv3简单使用
  18. 985 211计算机考研科目,考研想上985/211,你各科分数至少要考这么多!
  19. Java中Scanner 的用法/ Scanner怎么使用
  20. 《Graph Learning》| HIN-基于元路径的相似度

热门文章

  1. SurfaceFlinger 和 Hardware Composer
  2. docker学习笔记(三)docker中的网络
  3. 豆瓣9.8分,周志明的《凤凰架构》,高屋建瓴,推荐(送书)
  4. 成为明星程序员的独特秘密|极客原创
  5. SQL 性能优化梳理 —— 基本概念、创建时优化、查询时优化
  6. 很现实、很暴力的面试法则 —— 来自招聘官的自述
  7. RabbitMQ管理(4)——应用管理
  8. 【专场福利Part2】从多维度出发 保障提升实时音视频质量
  9. 思科Webex与下一代视频会议
  10. 体验共享——技术实现瓶颈与突破