1.mysql慢查询日志
需要进行优化时,开启mysql慢查询日志。
一般情况下不建议开启慢查询日志,开启慢查询日志会影响带来一定性能影响。
2.开启MySQL慢查询日志
查看是否开启慢查询日志:
show variables like '%slow_query_log%';
开启慢查询日志:
set global slow_query_log=1;
注意:使用set global slow_query_log=1; 开启慢查询日志只对当前数据库生效,如果mySQL重启后会失效,如果要永久生效需修改my.cnf 文件,后面所有修改若想永久生效均需修改my.cnf 文件;
查看慢查询时间(大于此时间慢查询时间将被记录到慢查询日志中):
show variables like 'long_query_time%';
修改慢查询时间(单位为秒):
set global long_query_time=0.2;
再次查看慢查询日志:
show global variables like 'long_query_time%';
注意:使用命令 set global long_query_time=0.2修改后,需要重新连接或新开一个会话才能看到修改值。你用show variables like 'long_query_time'查看是当前会话的变量值,也可以不用重新连接会话,而是用show global variables like 'long_query_time';
测试慢查询日志是否设置成功:
select sleep(3);
执行SQL语句,睡眠3S超过之前设置的0.2s,该SQL出现在 xxx-xxx-test-06-slow.log (默认为:主机名-slow.log)文件中。注意:修改慢查询时间后退出当前链接,重新进入执行select sleep(3),否则可能不会出现在慢查询日志中;