count(*)、count(1)和count(列名)的区别
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——关于count(1),count(*),和count(列名)的区别,和关于表中字段顺序的问题...
1.关于count(1),count(*),和count(列名)的区别 相信大家总是在工作中,或者是学习中对于count()的到底怎么用更快.一直有很大的疑问,有的人说count(*)更快,也有的人说 ...
- MySQL COUNT函数优化及count(1)/count(*)/count(列名)的区别
count函数优化 使用近似值: 在某些应用场景中,不需要完全精确的值,可以参考使用近似值来代替,比如可以使用explain来获取近似的值.其实在很多OLAP的应用中,需要计算某一个列值的基数,有一个 ...
- count(*)和count(1)和count(列名)的区别
count是一种最简单的聚合函数,一般也是我们第一个开始学习的聚合函数,那么他们之间究竟由什么区别呢? 有的人说count(1)和count(*)他们之间有区别,而有的人说他们之间没有区别那么他们之间 ...
- count(0)、count(1)和count(*)、count(列名) 的区别
当我们对一张数据表中的记录进行统计的时候,习惯都会使用 count 函数来统计,但是 count 函数传入的参数有很多种,比如 count(1).count(*).count(字段) 等. 到底哪种效 ...
- HiveSql面试题11详解(count(1)、count(*)和count(列名)的区别)
从执行结果来看 - count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL - count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL ...
- count(1)、count(*)、count(列名)的区别
含义: 1.count(*) :统计所有的行数,包括为null的行(COUNT(*)不单会进行全表扫描,也会对表的每个字段进行扫描.而COUNT('x')或者COUNT(COLUMN)或者COUNT( ...
- count(列名)与count(*)、count(1)的区别
count()函数的作用是用来计算指定列或整个表中的函数,count()函数有以下三种写法:count(列名) .count(1).count(*) . 其中,count(列名)只统计当前列中非空值的 ...
- MySQL中count(1),count(*),count(某字段)等用法联系和区别
一. 从执行结果来看 count(*):所有行进行统计,包括NULL行count(1):所有行进行统计,包括NULL行count(column):对column中非Null进行统计 二. 从执行效率上 ...
- 【优化】COUNT(1)、COUNT(*)、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)、COUNT(允许为空列)、COUNT(DISTINCT 列名)
[优化]COUNT(1).COUNT(*).COUNT(常量).COUNT(主键).COUNT(ROWID).COUNT(非空列).COUNT(允许为空列).COUNT(DISTINCT 列名) 1. ...
最新文章
- mysql 5.7.18-winx64_mysql 5.7.18 winx64安装配置方法图文教程
- Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题...
- 《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》一1.5 大数据系统应有的属性...
- filebeat获取nginx的access日志配置
- 调整分区个数_在重装系统的过程中,硬盘如何分区呢?
- Golang的匿名函数和闭包
- Erlang TCP Socket的接收进程的2种方案
- Windows下memcached.exe的安装与配置
- 如何检查linux 下是否安装java(jdk)环境
- google 浏览器使用的一些小技巧
- z-blog+php+漏洞,Z-Blog的PHP版前台存储型XSS漏洞一
- 西门子S7-200PLC基本入门编程
- 【Python计量】自相关性(序列相关性)的检验
- c语言中case的作用,c语言中case的用法
- 手机百度未能链接到服务器,北京地区用户“无法连接服务器” 百度:运营商问题...
- 备赛全国阳光健身健美大赛训练记录(粗略)
- MATLAB批量修改图片名称
- 利元转债,奕瑞转债上市价格预测
- jenkins恢复assign roles
- Springboot2(43)轻松搞定自定义@Enable模块装配
热门文章
- Synopsys工具命令
- 生活中我们的那些疑惑
- 卡巴斯基实验室CE0来华启动卡巴斯基安全中国行
- 2023年全新热搜热门榜内容系统聚合源码
- 关于计算机用途的大学英语作文,学生使用计算机Student Use of Computers-大学英语作文_2000字_英语作文...
- 2013-6 阿里技术沙龙:标签生成与推荐系统
- Linux防火墙(二)
- vs code添加php语法错误提醒
- 2017暑期实习招聘-产品经理-百度(1)-商业产品经理(群面)
- [转载] Could not find module \atari_py\ale_interface\ale_c.dll (or one of its dependencies)