网易首页 > 网易号 > 正文 申请入驻

执行count(1)、count(*) 与 count(列名) 到底有什么区别?

0
分享至

作者:BigoSprite

blog.csdn.net/iFuMI/article/details/77920767

1. count(1) and count(*)

从执行计划来看,count(1)和count(*)的效果是一样的。

当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多!

当数据量在1W以内时,count(1)会比count(*)的用时少些,不过也差不了多少。

如果count(1)是聚集索引时,那肯定是count(1)快,但是差的很小。

因为count(*),会自动优化指定到那一个字段。所以没必要去count(1),使用count(*),sql会帮你完成优化的

因此:在有聚集索引时 count(1)和count(*)基本没有差别!

2. count(1) and count(字段)

两者的主要区别是

  • count(1) 会统计表中的所有的记录数,包含字段为null 的记录。

  • count(字段) 会统计该字段在表中出现的次数,忽略字段为null 的情况。

    即不统计字段为null 的记录。

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

执行效果上:

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

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

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

执行效率上:

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

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

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

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

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

实例分析


create table counttest
(name char(1),
age char(2));

insert into counttest values
('a', '14'),
('a', '15'),
('a', '15'),
('b', NULL),
('b', '16'),
('c', '17'),
('d', null),
('e', '');

select name,
count(name),
count(1),
count(*),
count(age),
count(distinct(age))
from counttest
group by name;

结果如下:

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
买超求婚21岁邵晴!张嘉倪发文爱得起放得下,邵晴坐拥豪车豪宅

买超求婚21岁邵晴!张嘉倪发文爱得起放得下,邵晴坐拥豪车豪宅

八卦王者
2024-06-19 11:15:42
土耳其对华“捅刀”,俄罗斯设置一道门槛,金砖组织不是谁都能进

土耳其对华“捅刀”,俄罗斯设置一道门槛,金砖组织不是谁都能进

说天说地说实事
2024-06-20 08:34:02
金正恩的隆重,远远超出普京的想象

金正恩的隆重,远远超出普京的想象

兰妮搞笑分享
2024-06-19 18:57:08
欧洲杯2-0!36岁主帅狂赞一人,解说员詹俊:切尔西球迷很伤心

欧洲杯2-0!36岁主帅狂赞一人,解说员詹俊:切尔西球迷很伤心

bwb足球算个球
2024-06-20 08:47:45
徐子淇与富商老公合影太敢穿,丰满身材穿薄纱挖洞裙,真豁得出去

徐子淇与富商老公合影太敢穿,丰满身材穿薄纱挖洞裙,真豁得出去

蓓小西
2024-06-14 11:08:45
阿根廷5月贸易盈余26.56亿美元

阿根廷5月贸易盈余26.56亿美元

财联社
2024-06-20 03:05:24
从“娃娃”司长到最年轻党政一把手:殷勇的跃升之路

从“娃娃”司长到最年轻党政一把手:殷勇的跃升之路

天闻地知
2024-06-19 17:37:27
卡佩罗谈大罗离开皇马:他每天都开派对,还鼓励大家和他一起玩

卡佩罗谈大罗离开皇马:他每天都开派对,还鼓励大家和他一起玩

直播吧
2024-06-20 00:08:06
恭喜!祝贺河北9名学生提前被清华选中,来自六所“县级”中学

恭喜!祝贺河北9名学生提前被清华选中,来自六所“县级”中学

辉哥说动漫
2024-06-20 01:30:56
知青往事:当年在陕北我爱上一个漂亮女子,却被她父亲棒打鸳鸯

知青往事:当年在陕北我爱上一个漂亮女子,却被她父亲棒打鸳鸯

草根情感故事茶社
2024-06-19 08:47:46
吴艳妮人气堪比奥运冠军!长发披肩没化大浓妆 网友称赞:格局大

吴艳妮人气堪比奥运冠军!长发披肩没化大浓妆 网友称赞:格局大

念洲
2024-05-29 11:59:28
他是原上海市委书记,坚决反对两个凡是,1983年当选人大副委员长

他是原上海市委书记,坚决反对两个凡是,1983年当选人大副委员长

历史龙元阁
2024-06-20 00:31:15
医者仁心与教学枉命:协和医学院与南方医科大两种截然不同的态度

医者仁心与教学枉命:协和医学院与南方医科大两种截然不同的态度

王姐懒人家常菜
2024-06-20 00:58:54
波音被曝使用伪造钛合金零件,立马甩锅中国制造,还不如日本鞠躬

波音被曝使用伪造钛合金零件,立马甩锅中国制造,还不如日本鞠躬

青栀伊人
2024-06-19 21:57:06
质疑恶意退市 深交所七问*ST洪涛

质疑恶意退市 深交所七问*ST洪涛

南方都市报
2024-06-19 07:02:39
太难了!网传东莞今年第一块土拍,因没开发商出价而终止出让…

太难了!网传东莞今年第一块土拍,因没开发商出价而终止出让…

火山诗话
2024-06-19 07:30:30
上海浦东,一对夫妇买了一套房屋,但苦于限购政策无法过户,遂跟卖方约定在条件允许时过户

上海浦东,一对夫妇买了一套房屋,但苦于限购政策无法过户,遂跟卖方约定在条件允许时过户

水泥土的搞笑
2024-06-20 07:10:08
3000万抗旱资金去哪了?河南财政拨3000万抗旱,结果老百姓不买账

3000万抗旱资金去哪了?河南财政拨3000万抗旱,结果老百姓不买账

三月柳
2024-06-18 16:06:45
曼哈顿costco偷窃问题严重 失窃最多商品让人费解

曼哈顿costco偷窃问题严重 失窃最多商品让人费解

华人生活网
2024-06-20 05:07:16
签约前反悔!AC米兰遭曼联截胡!5500万欧18球天才易主,红鸟太抠

签约前反悔!AC米兰遭曼联截胡!5500万欧18球天才易主,红鸟太抠

老余聊球420
2024-06-19 14:50:51
2024-06-20 09:38:44
数据不吹牛
数据不吹牛
趣味+实用数据分析
411文章数 4500关注度
往期回顾 全部

科技要闻

美国AI圈震动! “OpenAI宫斗”核心人物苏茨克维官宣创业

头条要闻

德对华最强硬部长将访华 专家:或向中方传递三层意思

头条要闻

德对华最强硬部长将访华 专家:或向中方传递三层意思

体育要闻

欧洲杯最大的混子,非他莫属

娱乐要闻

黄一鸣“杀疯了” 直播间卖大葱养孩子

财经要闻

茅台大跌,谁的锅?

汽车要闻

双肾格栅变化大/内饰焕新 新一代宝马X3官图发布

态度原创

手机
时尚
房产
艺术
家居

手机要闻

曝苹果三款重要工具的源代码被盗 服务器遭到破坏

“T恤”作为夏季的基础款,竟然有这么多种穿法

房产要闻

17.9亿!终于,有民企在三亚大手笔拿地了!周边房价10万+!

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

家居要闻

自然开放 实现灵动可变空间

无障碍浏览 进入关怀版