MySQL优化总结—查询总条数

1:count(*)和count(col)
COUNT(*)通常是对主键进行索引扫描,而COUNT(COL)就不一定了,另外前者是统计表中的所有符合的纪录总数,而后者是计算表中所有符合的COL的纪录数。还有有区别的。

优化总结,对于MyISAM表来说:

1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;

2.尽量减少SELECT COUNT(*) FROMtablename WHERE COL = ‘value’ 这种查询;

3.杜绝SELECT COUNT(COL) FROM tablename WHERE COL2 =’value’ 的出现。

select count(*) from student ; 
0.817-一百万条的查询时间 

select count(id) from student; 
0.789-一百万条的查询时间 

select count(name) from student; 
1.011-一百万条的查询时间 

SELECT COUNT(*) FROM student WHERE name like '%xiaoli%';
#默认用主键索引查询,但是加上like条件后索引失效
1.162-一百万条的查询时间 

总结
总的来说,使用COUNT(id)还是更快一些

你可能感兴趣的:(数据库总结)