一、概念
分析MySQL语句查询性能的方法除了使用 EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”。
二、查询慢查询参数
slow_query_log 慢查询是否开启
slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)
long_query_time 查询超过多少秒才记录
#例如
show variables like 'slow_query%';
show status like ''long_query_time';
三、开启慢查询日志(定位慢查询语句)
1、sql语句方式开启(修改global全局变量)
#慢查询开启
set global slow_query_log='ON';
#日志存放位置
set global slow_query_log_file='/usr/local/mysql/data/slow.log';
#设置超时时间(超时2秒就记录)
set global long_query_time=2;
2、my.ini文件配置(需要重启)
[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1
3、测试
#查询暂停2s
select sleep(2);