什么是慢查询?
- 对于sql语句的执行,通常有一个查询时间的阈值,mysql默认阈值是10s。因此,超过这个阈值的sql语句,我们定义为慢查询。
慢查询配置和查看
执行语句 show variables like ‘%slow_query_log%’;slow_query_log_file是慢查询日志 输出方式为file时的文件输出目录。slow_query_log的值为on,说明慢查询日志已经开启。

- 如果没有开启,执行语句 set global slow_query_log=1;
执行语句 show variables like ‘long_query_time%’; 查看慢查询时间,从图片可以看到此时 慢查询的查询时间阈值为10s。

- 执行语句 show variables like ‘%log_output%’;查看文件地址的输出方式,有file 和table俩个值。

- 如果是file的话,需要到指定的slow_query_log_file 路径查看慢查询日志。

- 如果是table的话,执行sql语句select * from mysql.slow_log 查看慢查询日志;

- 如果是file的话,需要到指定的slow_query_log_file 路径查看慢查询日志。
- 慢查询分析
- 查看索引是否失效
- 使用explain工具查看执行计划,判断是否使用上了索引。

- 使用explain工具查看执行计划,判断是否使用上了索引。
- 查看索引是否失效
