count(*)与count(列名)的区别

                count(*)与count(列名)的区别

首先count(*)与count(列名)意义就是不同的:

count(*) :对全表统计,比如一百行的表 有一列name的80行为空 此时统计的还是100

count(列名):只对一列进行统计,上面的情况count(name)就是99

 

如果忽略意义上的不同单独从效率上来说:

1)count(列名)在此列是主键的时候一定是快于count((*)的

2)在此列是索引的时候

      如果索引列不非空那么 count(*)无法使用索引 所以要慢

     如果索引非空 那么基本一样快

另外,count(列名)是和列的偏移有关的,偏移越大,代价越大,所以常用的列应该尽量排放在前面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值