MySQL慢查询日志对于程序开发者来说是非常重要的一个东西,如果你想深入做DBA优化,MySQL慢查询日志分析工具也是必不可少的。
一、什么是MySQL慢查询日志?MySQL慢查询日志有什么用?
MySQL慢查询日志英文全称:Slow Query Log ,即 慢查询日志,主要是记录一些查询执行较慢的 SQL 语句。
这个日志非常常用,主要是给开发者调优用的。MySQL慢查询日志可监控有效率问题的SQL语句 。
注意:MySQL慢日志记录执行时间过长和没有使用索引的查询语句,报错select、update、delete以及insert语句,慢日志只会记录执行成功的语句。
二、MySQL慢查询日志分析工具有哪些?
由于第三方提供的工具很多,我这里就不多说了。主要是说一个,MySQL自带的慢查询分析工具:mysqldumpslow。
以我本地 Windows10+phpstudy_pro 为例子,mysqldumpslow它的位置在:
E:\phpstudy_pro\Extensions\MySQL5.7.26\bin\mysqldumpslow.pl
三、MySQL慢查询日志 开启
mysql> set global slow_query_log = 1;
四、查看 MySQL慢查询日志 是否开启成功?
mysql> show variables like '%slow_query_log%';
五、MySQL慢查询日志在哪里?查看MySQL慢查询日志位置
mysql> show variables like '%slow%';
六、MySQL慢查询日志 其它
1、查看 慢查询时间:默认10s
mysql> show variables like "long_query_time";
2、查看 慢查询配置情况:
mysql> show status like "%slow_queries%";
七、MySQL慢查询日志 使用教程
使用我就不多说了,无非是打开MySQL慢查询日志文件去详细分析,看看执行了哪些SQL语句?每条SQL语句它的性能如何?能否根据自己的业务情况再一步提升。可以用工具分析,也可以手工用MySQL Explain(执行计划)来分析。
以下是我打开慢查询日志文件内容的部份截图:
总结:
其实,MySQL有好几种日志都是很重要的,MySQL慢查询日志只是其中之一,例如:还有MySQL二进制日志、Mysql通用查询日志、MySQL错误日志......等等。