MySQL 慢查询分析

1.mysql执行计划中会有一列 Extra 

 Using filesort 是Mysql里一种速度比较慢的外部排序,我们可以通过优化索引来尽量避免出现Using filesort,从而提高速度。一般是order by 后面的字段没有加index 导致

Using temporary 说明用到了临时表,一般是用了group by的原因,创建一个临时表用以执行分组操作

Using temporary, Using filesort 是比较糟糕的,要尽量排除

 

2.优化GROUP BY语句

默认情况下,MySQL对所有GROUP BY col1,col2...的字段进行排序,如果查询包括GROUP BY 但用户想要避免排序结果的消耗,则可以指定ORDER By NULL禁止排序:

explain select id, sum(moneys) from sales2 group by id \G                      explain select id, sum(moneys) from sales2 group by id order by null \G 

转载于:https://my.oschina.net/u/3242075/blog/2885451

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值