mysql sql执行慢_访问执行速度过慢分析之MySQL慢语句分析

在代码中调用了一个新的方法,发现应用里面的相关功能慢了2~3秒钟酱。查看程序并没有特殊的处理,只是多了几条sql,新增了几个字段。那末,我们来抓一下慢语句看看,是否有优化的空间。

俗话说的好,在IT娱乐圈混的,怎能不学会分析SQL日志进行优化呢,首先来介绍一下MySQL中的慢语句分析的方法。

开启慢查询日志

在mysql会话中输入如下命令查看慢查询的配置:

show variables like "%slow%";

f4575f114c0c241c413f99f9ed033858.png

log_slow_queries 这个就是慢查询的配置啦,如果没有需要在my.cnf里面配置一下喔。

分析日志的工具

mysqldumpslow

用法参考

如,我输入

mysqldumpslow -s l -t 10 /slowquery.log

表示查看lock time最长的10个语句

mysqlsla

用法参考

经过分析发现一个日志表的多条件查询语句花了超过1秒钟,查看下有60多W的数据量,除了主键,没有加索引酱紫裸奔了~

SELECT id FROM xxx_log WHERE username = 'arthinking' AND type = 1 ORDER BY time DESC

立刻加上索引:

CREATE INDEX idx_xxx_username_type ON xxx_log(username, type, time)

速度立马回到了毫秒级别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值