# 优化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)
- 鸣谢
- 安装和配置
- Mac 安装MySql 8
- 授权用户远程登录
- MySql 命令加入系统命令
- 启动Mysql
- 索引
- 索引介绍与优势
- 索引结构
- 索引操作语法
- 索引设计原则
- 存储引擎
- MySql的体系解构
- 存储引擎
- 各种存储引擎特性
- 存储引擎的选择
- 优化SQL
- 查看SQL执行效率
- 定为低效率执行SQL
- explain分析执行计划
- show profile分析SQL
- tract 分析优化器执行计划
- 索引的使用
- 验证索引可以提高查询效率
- 索引使用
- 查看索引的使用情况
- SQL优化
- 大批量插入数据
- 优化insert语句
- 优化order by语句
- 优化group by的优化
- 优化嵌套索引
- 优化OR条件
- 优化分页查询
- 使用SQL提示