count(*)、count(1)和count(列名)的区别

1、执行效果上:  

l  count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL

l  count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL

l  count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。

2、执行效率上:  

l  列名为主键,count(列名)会比count(1)快

l  列名不为主键,count(1)会比count(列名)快

l  如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)

l  如果有主键,则 select count(主键)的执行效率是最优的

l  如果表只有一个字段,则 select count(*)最优。

3、实例分析:

count(*)、count(1)和count(列名)的区别相关推荐

  1. 关于数据库优化1——关于count(1),count(*),和count(列名)的区别,和关于表中字段顺序的问题...

    1.关于count(1),count(*),和count(列名)的区别 相信大家总是在工作中,或者是学习中对于count()的到底怎么用更快.一直有很大的疑问,有的人说count(*)更快,也有的人说 ...

  2. MySQL COUNT函数优化及count(1)/count(*)/count(列名)的区别

    count函数优化 使用近似值: 在某些应用场景中,不需要完全精确的值,可以参考使用近似值来代替,比如可以使用explain来获取近似的值.其实在很多OLAP的应用中,需要计算某一个列值的基数,有一个 ...

  3. count(*)和count(1)和count(列名)的区别

    count是一种最简单的聚合函数,一般也是我们第一个开始学习的聚合函数,那么他们之间究竟由什么区别呢? 有的人说count(1)和count(*)他们之间有区别,而有的人说他们之间没有区别那么他们之间 ...

  4. count(0)、count(1)和count(*)、count(列名) 的区别

    当我们对一张数据表中的记录进行统计的时候,习惯都会使用 count 函数来统计,但是 count 函数传入的参数有很多种,比如 count(1).count(*).count(字段) 等. 到底哪种效 ...

  5. HiveSql面试题11详解(count(1)、count(*)和count(列名)的区别)

    从执行结果来看 - count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL - count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL ...

  6. count(1)、count(*)、count(列名)的区别

    含义: 1.count(*) :统计所有的行数,包括为null的行(COUNT(*)不单会进行全表扫描,也会对表的每个字段进行扫描.而COUNT('x')或者COUNT(COLUMN)或者COUNT( ...

  7. count(列名)与count(*)、count(1)的区别

    count()函数的作用是用来计算指定列或整个表中的函数,count()函数有以下三种写法:count(列名) .count(1).count(*) . 其中,count(列名)只统计当前列中非空值的 ...

  8. MySQL中count(1),count(*),count(某字段)等用法联系和区别

    一. 从执行结果来看 count(*):所有行进行统计,包括NULL行count(1):所有行进行统计,包括NULL行count(column):对column中非Null进行统计 二. 从执行效率上 ...

  9. 【优化】COUNT(1)、COUNT(*)、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)、COUNT(允许为空列)、COUNT(DISTINCT 列名)

    [优化]COUNT(1).COUNT(*).COUNT(常量).COUNT(主键).COUNT(ROWID).COUNT(非空列).COUNT(允许为空列).COUNT(DISTINCT 列名) 1. ...

最新文章

  1. mysql 5.7.18-winx64_mysql 5.7.18 winx64安装配置方法图文教程
  2. Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题...
  3. 《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》一1.5 大数据系统应有的属性...
  4. filebeat获取nginx的access日志配置
  5. 调整分区个数_在重装系统的过程中,硬盘如何分区呢?
  6. Golang的匿名函数和闭包
  7. Erlang TCP Socket的接收进程的2种方案
  8. Windows下memcached.exe的安装与配置
  9. 如何检查linux 下是否安装java(jdk)环境
  10. google 浏览器使用的一些小技巧
  11. z-blog+php+漏洞,Z-Blog的PHP版前台存储型XSS漏洞一
  12. 西门子S7-200PLC基本入门编程
  13. 【Python计量】自相关性(序列相关性)的检验
  14. c语言中case的作用,c语言中case的用法
  15. 手机百度未能链接到服务器,北京地区用户“无法连接服务器” 百度:运营商问题...
  16. 备赛全国阳光健身健美大赛训练记录(粗略)
  17. MATLAB批量修改图片名称
  18. 利元转债,奕瑞转债上市价格预测
  19. jenkins恢复assign roles
  20. Springboot2(43)轻松搞定自定义@Enable模块装配

热门文章

  1. Synopsys工具命令
  2. 生活中我们的那些疑惑
  3. 卡巴斯基实验室CE0来华启动卡巴斯基安全中国行
  4. 2023年全新热搜热门榜内容系统聚合源码
  5. 关于计算机用途的大学英语作文,学生使用计算机Student Use of Computers-大学英语作文_2000字_英语作文...
  6. 2013-6 阿里技术沙龙:标签生成与推荐系统
  7. Linux防火墙(二)
  8. vs code添加php语法错误提醒
  9. 2017暑期实习招聘-产品经理-百度(1)-商业产品经理(群面)
  10. [转载] Could not find module \atari_py\ale_interface\ale_c.dll (or one of its dependencies)