慢查询定义及作用:
慢查询日志,顾名思义,就是查询慢的日志,是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。
慢查询的常用配置:
- slow_query_log:启动停止技术慢查询日志;
- slow_query_log_file:指定慢查询日志得存储路径及文件(默认和数据文件放一起);
- long_query_time:指定记录慢查询日志SQL执行时间得伐值(单位:秒,默认10秒);
- log_queries_not_using_indexes:是否记录未使用索引的SQL;
- log_output:日志存放的地方,支持【TABLE】【FILE】和【FILE,TABLE】。
设置的命令包括:
show VARIABLES like ‘%slow_query_log%’;
show VARIABLES like ‘%slow_query_log_file%’;
show VARIABLES like ‘%long_query_time%’;
show VARIABLES like ‘%log_queries_not_using_indexes%’;
show VARIABLES like ‘log_output’;
set global long_query_time=0;
set GLOBAL slow_query_log = 1;
set global log_output=’FILE,TABLE’;
记录符合条件的SQL,包括:
- 查询语句;
- 修改语句;
- 回滚的SQL。
慢查询日志解析:

行号 | 内容 |
---|---|
1 | 用户名 、用户的IP信息、线程ID号 |
2 | 执行花费的时间【单位:毫秒】 |
3 | 执行获得锁的时间 |
4 | 获得的结果行数 |
5 | 扫描的数据行数 |
6 | 这SQL执行的具体时间 |
7 | 具体的SQL语句 |