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