继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

分析需要优化的语句

生哥哥啊
关注TA
已关注
手记 3
粉丝 6
获赞 4

要查找执行速度比较慢的sql语句,从两个方面来获取要要优化的sql语句

1、使用mysql里面的 慢查询日志

2、使用profiles机制

慢查询日志

首先来说第一个使用mysql的慢查询日志,在这里 我们要先了解什么是慢查询日志?

在某些sql语句执行完毕后所花费的时间特别长,我们就将这种相应比较慢的语句记录记录在慢查询日志中,这里的慢查询日志并不是仅仅做查询的时候使用,insert,delete,update,call等DML操作只要是超过了我们自己设定的时间,都可以被称为“慢查询”。

(1)如何开启慢查询日志,

方式一:打开mysql的配置文件,my.ini,添加如下语句:修改完成后,要重启mysql服务。

https://img2.mukewang.com/5b2a06e00001ec0908960466.jpg

(2)开始测试,是否记录执行时间超过0.5秒 的sql语句。

select benchmark(执行次数,表达式);

https://img2.mukewang.com/5b2a07490001456d06340228.jpg

在慢查询日志文件里面查看是否记录:

https://img2.mukewang.com/5b2a07690001300805500129.jpg

(3)相关的一些命令,

查看慢查询日志的时间界限

https://img4.mukewang.com/5b2a081b0001930604120121.jpg

可以在当前会话中进行修改慢查询的时间界限:

语法:set long_query_time=时间界限

https://img4.mukewang.com/5b2a08340001d5e304340173.jpg

使用profiles机制

该机制开启后,会记录每个sql语句的执行时间,精确到小数点后8位。

如果开启:set profiling=1|0      值为1则是开启,为0则是关闭。

查看sql语句的执行时间:show profiles。




打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP