mysql慢查询日志

Posted coshaho

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql慢查询日志相关的知识,希望对你有一定的参考价值。

mysql慢查询日志可以记录查询时间过长的sql,对于性能问题定位十分重要,本文旨在介绍慢查询日志管理使用。

参数

1、slow_query_log:ON表示慢查询日志开启,OFF表示慢查询日志关闭;

2、slow_query_log_file:慢查询日志文件;

3、long_query_time:表示执行时间超过多少秒的sql记录到慢查询日志;

4、log_queries_not_using_indexes:ON表示慢查询日志会记录执行过的没有索引的sql,OFF表示不会记录;

5、log_throttle_queries_not_using_indexes:限制每分钟记录的无索引sql数量;

6、log_output:慢查询日志记录方式,FILE表示记录文件,TABLE表示记录表,FILE/TABLE表示同时记录文件,表。

实战

set global log_output=\'FILE,TABLE\';
set global long_query_time=2;
create database coshaho003;
use coshaho003;
show variables like \'long_query_time\';
select sleep(3);
select * from mysql.slow_log;

这里需要注意的是,执行了set global long_query_time=2;后,需要新建数据库才能生效。

慢查询日志信息如下:

Time                 Id Command    Argument
# Time: 2017-08-13T04:48:11.591942Z
# User@Host: root[root] @ localhost [127.0.0.1]  Id:     4
# Query_time: 3.015729  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
use coshaho001;
SET timestamp=1502599691;
select sleep(3)
LIMIT 0, 1000;
# Time: 2017-08-13T04:51:41.790726Z
# User@Host: root[root] @ localhost [127.0.0.1]  Id:     4
# Query_time: 3.000108  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
use coshaho003;
SET timestamp=1502599901;
select sleep(3)
LIMIT 0, 1000;

 

以上是关于mysql慢查询日志的主要内容,如果未能解决你的问题,请参考以下文章

如何开启MySQL慢查询日志

mysql怎么开启慢查询日志开启

如何开启MySQL慢查询日志

如何开启MySQL慢查询日志

开启mysql慢查询日志并使用mysqldumpslow命令查看

mysql怎么开启慢查询日志开启