MySql慢查询

1、开局先总结,后面的教程所用代码如下

-- 查看慢查询是否开启,OFF为关闭状态
show variables like 'slow_query%';
-- 开启慢查询
set global slow_query_log = on; 
-- 查看设置的慢查询时间,默认的是10秒
show variables like 'long_query_time';
-- 设置慢查询的临界点,单位为秒
set long_query_time = 1;
-- 设置慢查询的保存方式file是文件保存,table是保存在slow_log表中
set globle log_output = file;
-- 查询慢查询日志的开启状态和日志储存的位置
show variables like '%quer%';
-- 参数说明:
-- slow_query_log : 是否已经开启慢查询

-- slow_query_log_file : 慢查询日志文件路径

-- long_query_time :  超过多少秒的查询就写入日志 

-- log_queries_not_using_indexes 如果值设置为ON,则会记录所有没有利用索引的查询

2、查询慢查询开启的状态:show variables like 'slow_query%';

 2.1打开慢查询:set global slow_query_log = on; 

 3查询慢查询时间临界点:show variables like 'long_query_time';(默认为10秒)

 3.1设置慢查询的临界点:set long_query_time = 2;(2为2秒,设置的时间单位为秒)

 4查看慢查询的开启状态和文件储存方式(文件默认为file储存,可以改成table储存,修改方式见4.1):show variables like '%quer%';

 4.1修改文件储存方式为table,查看日志直接看表slow_log:set globle log_output = TABLE;

 

4.2查看慢查询的日志保存方式:show variables like '%log_output%';

 5验证慢查询是否开启:select * from slow_log

 

最后,本人遇到的一些小问题,通过navicat进行语句执行的时候有报错,但是通过sqlyog执行并没有报错,最后一张图是sqlyog的截图

原文地址:https://www.cnblogs.com/jinbiaobowen/p/13390687.html