MySql提供慢SQL日志的功能,能够记录下响应时间超过一定阈值的SQL查询,以便于我们定位糟糕的查询语句。

首先,查询当前mysql数据库是否开启了慢查询日志功能:

show VARIABLES like '%slow%';

slow_query_log的值是ON,代表当前数据库已经开启了慢查询功能。slow_query_log_file表示慢日志的路径。

还可以查看超过多少秒算是慢查询:

show VARIABLES like 'long_query_time';

默认是10秒,这里已经被配置为1秒了。

那么慢查询功能是如何配置的呢?

Linux系统下是编辑/etc/my.cnf

注意:[mysqld]下面添加 #mysql慢日志开启 slow_query_log=ON slow_query_log_file=/var/lib/mysql/mysql-slow.log long_query_time=1

然后,重启mysql服务使之生效:

service mysqld restart

接下来就可以通过slow_query_log_file指定的日志路径查看慢查询记录了。