count(1)、count(*)、count(column)的含义、区别、执行效率

简介: 总之,`count(1)` 和 `count(*)` 通常会更常用,因为它们的执行效率较高,不涉及对具体列值的处理。而 `count(column)` 适用于统计特定列中的非空值数量。在实际使用时,可以根据情况选择适合的方式。买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
  • count(1):这是一种常用的计数方法,count(1)是一个固定值,表示计算结果集的行数。它在执行时不需要关心具体的列值,只是简单地统计行数。
  • count(*):这也是一种常见的计数方法,count(*)表示计算结果集的行数,与 count(1)功能相同,但在某些数据库中可能会稍微不同的执行优化。
  • count(column):这种方式是计算指定列的非空值数量。它会统计指定列中不为NULL的行数,忽略NULL值。

区别与执行效率:

  • 区别:count(1)count(*) 在功能上是相同的,都是用于统计行数。而 count(column) 则用于统计特定列中非空值的数量。
  • 执行效率:在绝大多数数据库中,count(1)count(*) 的执行效率几乎是相同的,因为它们都只关心行数而不需要考虑具体的列值。而 count(column) 可能会比较慢,因为它需要检查每一行的指定列是否为NULL。

总之,count(1)count(*) 通常会更常用,因为它们的执行效率较高,不涉及对具体列值的处理。而 count(column) 适用于统计特定列中的非空值数量。在实际使用时,可以根据情况选择适合的方式。

目录
相关文章
|
存储 SQL 数据库
面试官:索引失效场景有哪些?
以下是内容的摘要: 本文列举了可能导致数据库索引失效的16种情况:全表扫描、索引列使用计算或函数、LIKE查询条件不匹配、未遵循联合索引最左前缀原则、索引列参与排序无筛选、隐式类型转换、OR条件连接索引、IN子句大量值、NOT操作、数据分布不均的JOIN、数据过于分散的查询、大结果集、临时表或派生表操作、索引维护不及时以及不等于比较和IS NOT NULL条件。这些情况都可能使查询优化器放弃使用索引,影响查询性能。
1358 1
|
存储 XML Java
Flowable工作流-高级篇
Flowable工作流-高级篇
9803 1
|
负载均衡 Nacos 数据安全/隐私保护
SpringCloud(Gateway 网关负载均衡) | 学习笔记
快速学习 SpringCloud(Gateway 网关负载均衡)
SpringCloud(Gateway 网关负载均衡) | 学习笔记
|
SQL 缓存 Oracle
为什么阿里巴巴禁止使用 count(列名)或 count(常量)来替代 count(*)
本文介绍了COUNT函数的用法,主要用于统计表行数。主要用法有COUNT(*)、COUNT(字段)和COUNT(1)。
12820 0
为什么阿里巴巴禁止使用 count(列名)或 count(常量)来替代 count(*)
|
消息中间件 监控 NoSQL
|
11月前
|
存储 关系型数据库 分布式数据库
【赵渝强老师】基于PostgreSQL的分布式数据库:Citus
Citus 是基于 PostgreSQL 的开源分布式数据库,采用 shared nothing 架构,具备良好的扩展性。它以插件形式集成,部署简单,适用于处理大规模数据和高并发场景。本文介绍了 Citus 的基础概念、安装配置步骤及其在单机环境下的集群搭建方法。
979 2
|
SQL 分布式计算 数据处理
FlinkSQL开发经验分享
FlinkSQL开发经验分享
647 8
|
安全 Linux
CentOS下载ISO镜像的方法
访问CentOS官方网站(https://www.centos.org/download/),在“Downloads”页面找到ISO镜像下载链接,选择所需版本和架构(如x86_64)开始下载。CentOS分为Linux版和Stream版,前者每两年发行一次并提供10年安全维护,后者为滚动更新。旧版本可在Vault(https://vault.centos.org/)下载。建议选择DVD格式镜像,包含完整系统和常用软件。
30264 16
CentOS下载ISO镜像的方法