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 缓存 Oracle
为什么阿里巴巴禁止使用 count(列名)或 count(常量)来替代 count(*)
本文介绍了COUNT函数的用法,主要用于统计表行数。主要用法有COUNT(*)、COUNT(字段)和COUNT(1)。
11720 0
为什么阿里巴巴禁止使用 count(列名)或 count(常量)来替代 count(*)
|
6月前
|
存储 SQL 关系型数据库
count(1)、count(具体字段)和count(*)究竟有什么区别?
count(1)、count(具体字段)和count(*)究竟有什么区别?
61 0
|
7月前
|
SQL Serverless 数据库
【count(列名)、count(1)和 count(星号)有什么区别】
【count(列名)、count(1)和 count(星号)有什么区别】
103 0
|
9月前
|
SQL 数据可视化 关系型数据库
count(列名) ,count(1)与count(*) 有何区别?
count(列名) ,count(1)与count(*) 有何区别?
|
10月前
|
关系型数据库 MySQL 索引
【MySQL】count(1)、count(*)、count(字段)、count(主键)的区别
【MySQL】count(1)、count(*)、count(字段)、count(主键)的区别
168 0
|
11月前
|
SQL 索引
Count(1) Count(0) Count(*) Count(列名)
Count(1) Count(0) Count(*) Count(列名)
116 0
|
SQL 索引
count(1) and count(column)那个更优?
count(1) and count(column)那个更优?
67 0
|
SQL Oracle 关系型数据库
count函数
count函数
96 0
|
存储 SQL 架构师
性能大PK count(*)、count(1)和count(列)
最近的工作中,我听到组内两名研发同学在交流数据统计性能的时候,聊到了以下内容: 数据统计你怎么能用 count(*) 统计数据呢,count(*) 太慢了,要是把数据库搞垮了那不就完了么,赶紧改用 count(1),这样比较快...... 有点儿好奇,难道 count(1) 的性能真的就比 count(*) 要好吗? 印象中网上有很多的文章都有过类似问题的讨论,那 MySQL 统计数据总数 count(*) 、count(1)和count(列名) 哪个性能更优呢?今天我们就来聊一聊这个问题。
性能大PK count(*)、count(1)和count(列)
|
SQL 关系型数据库 MySQL
MySQL - count(1)、count(*)、count(列名) 执行区别
MySQL - count(1)、count(*)、count(列名) 执行区别
113 0