【mysql】关于count(*)与count(col)

31 篇文章 88 订阅

虽说count(*)与count(col)在不同的情况下,可能会表现出不同的性能。

但是一般情况下,count(*)会对主键进行索引扫描,统计的是表中所有符合的记录总数;而count(col)扫描的不一定是主键,它统计的是表中所有符合的col列的记录量。

对于以下两种查询:

select count(*) from tbl_name;

select count(col) from tbl_name;

如果col是主键,count(*)与count(col)应当表现出相当的性能;否则count(*)比count(col)更快。


以下是参考别人的优化总结:

mysql的count优化总结:
1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;
2.尽量减少SELECT COUNT(*) FROM tablename WHERE COL = 'value’ 这种查询;
3.杜绝SELECT COUNT(COL) FROM tablename的出现。
参考连接:http://www.ccvita.com/347.html



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值