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

来源:互联网 发布:台湾视频聊天软件 编辑:程序博客网 时间:2024/06/05 19:50

虽说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



原创粉丝点击