1.优化GROUP BY 语句
默认状况下,MySQL对全部GROUP BY col1,col2,...的字段进行排序。这与在查询中指定ORDER BY col1,col2,...相似。mysql
所以,若是显示包括一个包含相同列的order by 子句,则对MySQL的实际执行性能没什么影响。sql
若是查询包括group by 但用户想要避免排序结果的消耗,则能够指定order by null 禁止排序,以下面的例子:性能
mysql> explain select payment_date,sum(amount) from payment group by payment_date;
+----+-------------+---------+------------+------+---------------+------+---------+------+-------+----------+-----------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+---------+------------+------+---------------+------+---------+------+-------+----------+-----------------+
| 1 | SIMPLE | payment | NULL | ALL | NULL | NUL