# 優化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;
```

優化后
```sql
explain select age,count(*) from emp group by age order by null;
```

**2)** 使用索引 :
~~~
create index idx_emp_age_salary on emp(age,salary);
~~~

- 鳴謝
- 安裝和配置
- Mac 安裝MySql 8
- 授權用戶遠程登錄
- MySql 命令加入系統命令
- 啟動Mysql
- 索引
- 索引介紹與優勢
- 索引結構
- 索引操作語法
- 索引設計原則
- 存儲引擎
- MySql的體系解構
- 存儲引擎
- 各種存儲引擎特性
- 存儲引擎的選擇
- 優化SQL
- 查看SQL執行效率
- 定為低效率執行SQL
- explain分析執行計劃
- show profile分析SQL
- tract 分析優化器執行計劃
- 索引的使用
- 驗證索引可以提高查詢效率
- 索引使用
- 查看索引的使用情況
- SQL優化
- 大批量插入數據
- 優化insert語句
- 優化order by語句
- 優化group by的優化
- 優化嵌套索引
- 優化OR條件
- 優化分頁查詢
- 使用SQL提示