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的截图