当前位置:首页 > 科技新闻 > 数据库 > 正文

Mysql资料 慢查询
2021-12-13 17:58:27

一.简介

MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句。

具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是记录运行10秒以上的语句。

默认情况下,MySQL数据库并不启动慢查询日志,需要手动来设置这个参数。当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。

慢查询日志支持将日志记录写入文件和数据库表。

二.查询

slow_query_log 慢查询开启状态
slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)
long_query_time 查询超过多少秒才记录

查看是否开启和存放位置,当前为关闭状态
show variables like 'slow_query%';
file

多少米才记录,当前10秒
show variables like 'long_query_time';
file

三.开启

永久配置

vim /etc/my.cnf

[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 2

重启数据库

临时配置

mysql> set global slow_query_log='ON';
mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log';
mysql> set global long_query_time=1;

重启数据库

四.测试

放一个慢查询语句
mysql> select sleep(2);

查看日志是否生成并有那个语句
cat /usr/local/mysql/data/slow.log

本文摘自 :https://www.cnblogs.com/