mysql慢查询日志
嘻嘻发布于2020-03-26
浏览慢速查询日志由执行时间超过long_query_time秒的SQL语句组成,并且至少需要min_examined_row_limit行进行检查。long_query_time的最小值是0,默认值是10。可以将该值指定为微秒分辨率。要将日志记录到文件中,需要写入时间(包括微秒)。对于记录到表,只写整数倍;微秒部分被忽略。
默认情况下,不会记录管理语句,也不会记录不使用索引进行查找的查询。可以使用log_slow_admin_statements和log_queries_not_using_indexes更改此行为,如后面所述。
slow query log相关变量
1、命令行参数:
--log-slow-queries
指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log
2、系统变量
log_slow_queries
指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log
slow_query_log
slow quere log的开关,当值为1的时候说明开启慢查询。
slow_query_log_file
指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log
long_query_time
记录超过的时间,默认为10s
log_queries_not_using_indexes
log下来没有使用索引的query,可以根据情况决定是否开启
开启slow query
- 查看slow设置
show variables like 'slow_query%';
- 开启slow query log
set global slow_query_log=1;
3.测试slow query log
select sleep(10) as wait, 100 as t;