慢查询日志开启(phpstudy环境)

一、概念:

MySQL的慢查询日志是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中(日志可以写入文件或者数据库表,如果对性能要求高的话,建议写文件)。默认情况下,MySQL数据库是不开启慢查询日志的,long_query_time的默认值为10(即10秒,通常设置为1秒),即运行10秒以上的语句是慢查询语句。
一般来说,慢查询发生在大表(比如:一个表的数据量有几百万),且查询条件的字段没有建立索引,此时,要匹配查询条件的字段会进行全表扫描,耗时查过long_query_time,则为慢查询语句。

二、开启步骤:

1、检查是否开启:

show variables like 'slow_query_log';

这里写图片描述
2、查看配置:

show variables like '%log%';

这里写图片描述
3、开启log_queries_not_using_indexes:
(如果值设置为ON,则会记录所有没有利用索引的查询(注意:如果只是将log_queries_not_using_indexes设置为ON,而将slow_query_log设置为OFF,此时该设置也不会生效,即该设置生效的前提是slow_query_log的值设置为ON),一般在性能调优的时候会暂时开启。)

set global log_queries_not_using_indexes=on;

这里写图片描述
4、开启慢查日志:

set global slow_query_log=on;

这里写图片描述
5、查询慢查日志记录位置:

show variables like 'slow%';

这里写图片描述

猜你喜欢

转载自blog.csdn.net/john_rush/article/details/80585102