多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 优化group by 语句 由于GROUP BY 实际上也同样会进行排序操作,而且与ORDER BY 相比,GROUP BY 主要只是多了排序之后的分组操作。当然,如果在分组的时候还使用了其他的一些聚合函数,那么还需要一些聚合函数的计算。所以,在GROUP BY 的实现过程中,与 ORDER BY 一样也可以利用到索引。 **1)**.如果查询包含 group by 但是用户想要避免排序结果的消耗, 则可以执行order by null 禁止排序。如下 : ```SQL drop index idx_emp_age_salary on emp; explain select age,count(*) from emp group by age; ``` ![](https://img.kancloud.cn/da/d0/dad0c99c1a9f9fc2700857ceaa0bdb6f_2444x354.png) 优化后 ```sql explain select age,count(*) from emp group by age order by null; ``` ![](https://img.kancloud.cn/1c/bb/1cbb2ad37e18d033659299471275e843_2334x234.png) **2)** 使用索引 : ~~~ create index idx_emp_age_salary on emp(age,salary); ~~~ ![](https://img.kancloud.cn/3f/e1/3fe1f47357b3b408959747fc81ebae4e_2604x242.png)