mysql 慢查询日志的设置与优化

本文介绍了如何在MySQL中启用和配置慢查询日志,包括参数设置、日志阈值以及分析工具的使用。重点讲解了如何通过mysqldumpslow进行日志分析,帮助开发者定位和提升数据库性能。

目录

1 引言

2 慢查询日志配置

3 分析工具

1 引言

MySQL数据中有记录慢查询的一种手段。并且是MySQL自带的。可用来排查那些查询sql语句执行得慢。从而给开发者提供一个调优得依据。

MySQL 慢查询的相关参数解释:

slow_query_log    :是否开启慢查询日志,1表示开启,0表示关闭。

long_query_time :慢查询阈值,当查询时间多于设定的阈值时,记录日志。

slow-query-log-file:5.6及以上版本 MySQL数据库慢查询日志存储路径。

2 慢查询日志配置

默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的,可以通过设置slow_query_log的值来开启,如下所示:

注意:使用set global slow_query_log=1开启了慢查询日志只对当前数据库生效,如果MySQL重启后则会失效。如果要永久生效,就必须修改配置文件my.cnf

修改my.cnf文件,增加或修改参数slow_query_log 和slow_query_log_file后,然后重启MySQL服务器,如下所示:在[mysqld]中添加三句话:

slow_query_log =1

slow_query_log_file=/tmp/mysql_slow.log

long_query_time = 1    ## 最长执行时间(超过这个时间,记录慢日志)

开启了慢查询日志后,什么样的SQL才会记录到慢查询日志里面呢?

这个是由参数long_query_time控制,默认情况下long_query_time的值为10秒,可以使用命令修改,也可以在my.cnf参数里面修改。

(关于运行时间正好等于long_query_time的情况,并不会被记录下来。也就是说,在mysql源码里是判断大于long_query_time,而非大于等于)。从MySQL 5.1开始,long_query_time开始以微秒

注意:重新打开会话才能看到新修改的值

 在MySQL里面执行下面SQL语句,然后我们去检查对应的慢查询日志,就会发现类似下面这样的信息。

3 分析工具

   满日志分析工具​​​​​​​:mysqldumpslow

  1. show processlist
  2. explain

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fish_study_csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值