运维过程中,当开发反馈程序请求很慢时,底层硬件和基础设施环境又没有问题时候,我们可以通过查询数据库慢请求查询日志,可以定位到是哪一条语句查询比较慢,找到这条语句之后,如何去分析它慢的原因呢?最简单的方法,可以通过explain解析。
一、如何开启慢查询日志
1、查看慢查询日志是否开启
执行命令:show variables like ‘slow%’。
得到以下结果:
可以看到slow_query_log属性是OFF,处于关闭状态,那么我们需要先开启慢查询。
slow_query_log_file表示慢查询日志文件的存放路径,我们可以自定义文件路径:
set global slow_query_log_file = ‘路径’。
2、开启慢查询日志
执行命令:set global slow_query_log = on。
然后再查询一下,发现slow_query_log处于开启状态:
开启了之后,是不是所有的查询都会记录在文件里呢?
当然不是,慢查询日志,顾名思义是只记录查询比较慢的语句,那问题又