GROUP BY 优化:
1.group by使用索引的原则几乎与order by一直,group by即使没有过滤条件用到索引,也可以直接使用索引(具体根据优化器的分析选择)
2.group by 先排序再分组,遵循索引建立的最佳左前缀法则
3.当无法使用索引列,增大 max_length_for_sort_data 和 sort_buffer_size 参数的设置
4.where的效率高于having,能在where中的限定条件不要写到having中
5.减少使用order by,可以将排序在前端进行处理,order by、group by这些语句比较耗费cpu,数据库的cpu资源十分宝贵
6.包含了order by、group by、distinct这些查询的语句,where条件过滤出来的结果集尽量保证在1000条以内,否则sql会很慢