我是靠谱客的博主 优美缘分,最近开发中收集的这篇文章主要介绍Mysql调优之慢sql抓取,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在生产中,经常遇到某条sql执行速度慢而影响整个系统的运行,如何找到这条影响系统的sql是解决问题的前提。
mysql在出厂时许多默认功能并未开启,这样是为了保证mysql的运行性能,像上述问题一样,我们可以开启 sql慢查询日志,从而抓取拖慢系统的某条sql。

1、查看慢日志查询开启状态

执行 show variables like ‘%slow_query_log%’;

在这里插入图片描述
日志默认状态是关闭的, /var/lib/mysql/localhost-slow.log 是日志文件所在服务器的位置,日志的名字 以 主机-slow.log命名。

2、开启慢日志查询

set global slow_query_log =1;

在这里插入图片描述
现在可以查看为开启状态,但是这个状态只对本数据库本次有效,如重启便恢复关闭状态,若要长期开启,还需要修改配置文件。

3、查看慢sql阈值

执行 show variables like ‘%long_query_time%’;

在这里插入图片描述
默认设置 10秒为慢sql,在生产中一般sql超过2~3秒就已经很慢了(可以根据自己需求设置此值)
在这里插入图片描述
发现修改后,值还为10秒。原因是需要重新连接或者开启一个新的会话才能看到修改的值。

执行 show global variables like ‘%long_query_time%’;

在这里插入图片描述
可看到修改的值。

4、模拟查询慢sql

执行 select sleep(4);

在这里插入图片描述

5、查看日志

在这里插入图片描述

查看日志 如下:
在这里插入图片描述

从而得出执行慢的sql,进行优化。

最后

以上就是优美缘分为你收集整理的Mysql调优之慢sql抓取的全部内容,希望文章能够帮你解决Mysql调优之慢sql抓取所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部