为了账号安全,请及时绑定邮箱和手机立即绑定

分析需要优化的语句

标签:
PHP MySQL 设计

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

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

2、使用profiles机制

慢查询日志

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

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

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

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

https://img1.sycdn.imooc.com//5b2a06e00001ec0908960466.jpg

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

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

https://img1.sycdn.imooc.com//5b2a07490001456d06340228.jpg

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

https://img1.sycdn.imooc.com//5b2a07690001300805500129.jpg

(3)相关的一些命令,

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

https://img1.sycdn.imooc.com//5b2a081b0001930604120121.jpg

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

语法:set long_query_time=时间界限

https://img1.sycdn.imooc.com//5b2a08340001d5e304340173.jpg

使用profiles机制

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

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

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




点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消