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
slow_query_log=ON
slow_query_log_file=/var/lib/mysql/remotejob-01-slow.log
long_query_time=1
然后,重启mysql服务使之生效:
service mysqld restart
接下来就可以通过slow_query_log_file指定的日志路径查看慢查询记录了。