1、如果对group by语句结果没有排序要求,在语句后面加order by null
2、尽量让group by 过程用上索引,确认方法是explain结果里没有Using temporary 和Using filesort
3、如果group by 需要统计的数据量不大,尽量只使用内存临时表;也可以通过适当调大tmp_table_size参数,来避免用到磁盘临时表
4、如果数据量很大,使用SQL_BIG_RESULT
提示,来告诉优化器直接使用排序算法得到group by 的结果
1、如果对group by语句结果没有排序要求,在语句后面加order by null
2、尽量让group by 过程用上索引,确认方法是explain结果里没有Using temporary 和Using filesort
3、如果group by 需要统计的数据量不大,尽量只使用内存临时表;也可以通过适当调大tmp_table_size参数,来避免用到磁盘临时表
4、如果数据量很大,使用SQL_BIG_RESULT
提示,来告诉优化器直接使用排序算法得到group by 的结果