mysql慢查询日志

慢速查询日志由执行时间超过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

  1. 查看slow设置
    show variables like 'slow_query%';
  2. 开启slow query log
    set global slow_query_log=1;

    3.测试slow query log

    select sleep(10) as wait, 100 as t;
必应(bing)Web Master改版
mysql Invalid default value for 'create_date' timestamp field
ajax-loader