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

简介: count(*) 和 count(1)和count(列名)区别

(1)执行效果:

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

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

③count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空

(2)执行效率:

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

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

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

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

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

目录
相关文章
|
7月前
|
数据库
count(1)、count(*)、count(column)的含义、区别、执行效率
总之,`count(1)` 和 `count(*)` 通常会更常用,因为它们的执行效率较高,不涉及对具体列值的处理。而 `count(column)` 适用于统计特定列中的非空值数量。在实际使用时,可以根据情况选择适合的方式。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
101 0
|
存储 SQL 关系型数据库
count(1)、count(具体字段)和count(*)究竟有什么区别?
count(1)、count(具体字段)和count(*)究竟有什么区别?
140 0
|
SQL Serverless 数据库
【count(列名)、count(1)和 count(星号)有什么区别】
【count(列名)、count(1)和 count(星号)有什么区别】
202 0
|
SQL 数据可视化 关系型数据库
count(列名) ,count(1)与count(*) 有何区别?
count(列名) ,count(1)与count(*) 有何区别?
|
关系型数据库 MySQL 索引
【MySQL】count(1)、count(*)、count(字段)、count(主键)的区别
【MySQL】count(1)、count(*)、count(字段)、count(主键)的区别
386 0
|
SQL 索引
Count(1) Count(0) Count(*) Count(列名)
Count(1) Count(0) Count(*) Count(列名)
167 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 缓存
count(*)那么慢能用吗,该怎么办呢?
大家好前面我们大概了解了为什么delete from表名,表的大小还是没有变小!以及数据删除流程,数据页空洞,online和inplace。重建表的两种实现方式。今天介绍一下为什么count(*)那么慢。
count(*)那么慢能用吗,该怎么办呢?
|
缓存 关系型数据库 MySQL
count(列名)、 count(常量)、 count(*)区别
count(列名)、 count(常量)、 count(*)区别
count(列名)、 count(常量)、 count(*)区别