count(*) 与count(1)与count(主键)

本文详细解释了SQL中不同计数函数的工作原理,包括如何处理NULL值,以及count(*)、count(1)、count(主键)和count(列名)等函数在性能上的差异。文章还介绍了这些函数在索引扫描方面的表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 如果null参与聚集运算,则除count(*)之外其它聚集函数都忽略null.

如:
ID  DD
1    e

2    null


select count(*) from table --结果是2
select count(DD) from table ---结果是1

有说count(1)效率高,感觉差不多..没啥区别


二 不考虑Null的情况


count(1)和count(主键) 这两个只扫描主键Index就可以得到数据,
count(*)是扫描表的。
所以count(1)和count(主键)这两个效率高。


还有一种写法是count(ROWID)这也是只扫描Index的,效率高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值