1 确认慢查询日志功能已开启
执行以下sql语句,查看慢查询功能是否开启:
show VARIABLES like 'slow_query_log';
如果为ON,表示打开;如果为OFF,表示没有打开,需要开启慢查询功能。
执行以下sql语句,开启慢查询日志功能(注意,只对当前查询窗口有效)
SET GLOBAL slow_query_log = 'ON';
2 设置慢查询的触发时间
触发慢查询日志记录的参数是long_query_time,以秒为单位,如果一条sql语句的执行时间超过了long_query_time,就会记录在慢查询日志中。
通过以下sql命令查看long_query_time的值:
show VARIABLES LIKE 'long_query_time';
这里是10s,我想查看所有执行的sql语句的慢查询日志,所以我要把这个值设置成0,sql语句如下:
set long_query_time=0;
3 执行任意sql语句
这里将慢查询开启,并将触发时间改成0秒之后,执行任意sql语句都会记录到慢查询日志中
比如查询我表中的一些数据:
select * from t where c=50000 limit 1;
4 查看慢查询日志文件的位置
使用以下sql命令查询慢查询日志文件所在路径:
show VARIABLES LIKE 'slow_query_log_file';
去文件系统打开这个路径
5 查看慢查询日志文件的内容
打开WIN-M73OORGND0B-slow.log
我刚才执行的那条sql语句,发现已经被记录在慢查询日志了。扫描了5万行数据。