300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql 慢查询日志的设置与优化

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

时间:2022-02-21 14:20:24

相关推荐

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

目录

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重启后则会失效。如果要永久生效,就必须修改配置文件f

修改f文件,增加或修改参数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秒,可以使用命令修改,也可以在f参数里面修改。

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

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

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

3 分析工具

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

show processlistexplain

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。