MySql优化-count(*)和count(列)哪一个更加快

MySql优化-count(*)和count(列)哪一个更加快

1. count(列)

count(列)的速度是看列的偏移量来决定的,理论上,越靠前的列速度越快,越靠后的列素的越慢。

2. count(*)

count()的速度不需要靠列的偏移量来统计整个的数据数,所以count()在一般情况下会比count(靠后的列)的速度要快

3.综合来看

如果count(列),该列非空,或者有索引,那么count(列)的性能将与count()的性能一致,速度也差不多,差的那部分也差在了列的偏移量上边。如果count(列)的列有空,那么性能将会比count()会慢一些。综合来看,两者根本没有可比性,因为count(*)是统计全表最多的记录的,而count(列)是统计该列的非空记录数的!!!
不过根据经验来看,还是将常用的列排在前,将不常用的列排在后边。这样比较科学可靠一些!
MySql优化-count(*)和count(列)哪一个更加快_第1张图片

你可能感兴趣的:(mysql)