慢查询
1.1 是什么?
mysql提供的一种日志记录。
1.2 目的是什么?
记录执行阶段影响系统性能的sql信息,然后定位分析系统瓶颈。
1.3 参数信息
show VARIABLES like '%slow%'
show VARIABLES like '%long_query%'
效果分别如下:
-
slow_query_log OFF/ON : 慢查询日志是否开启
-
slow_query_log_file ECVD3SM2SH77WES-slow.log : 慢查询日志保存位置
-
long_query_time 10.000000 : 执行速度指标(默认10秒)
1.4 开启慢查询
set global slow_query_log = on
- 设置配置文件(配置后需要重启mysql服务)
以下是,windows系统下我的mysql配置文件路径。 cmd输入回车就会打开mysql配置文件。
C:\ProgramData\MySQL\MySQL Server 8.0>my.ini
slow-query-log = 1 ;表示已经开启慢查询;
-
测试
我的long_query_time = 10 ; 所以这边执行一个11秒的sql语句,看看是否被慢查询记录;
select Sleep(11);
以下是我的slow.log存储路径:
C:\ProgramData\MySQL\MySQL Server 8.0\Data\ECVD3SM2SH77WES-slow.log
cmd 运行,效果如下:
可以看出,select Sleep(11) 被记录下来了,查询慢查询状态信息,可以看出记录了几条。
查询slow状态信息:
show global status like '%slow%';
除了自己分析之外,也可以用第三方工具用来对慢查询进行分析。