顾名思义,慢查询日志中记录的是执行时间较长的 query可以设一个阀值、将运行时间超过该值的所有SQL语句都记录到慢查询日志文件中该阀值可以通过参数long_query_time来设置、默认是10秒这里需要一点、对于运行时间正好等于long_query_time的情况、并不会被记录因为、在源代码里是判断大于long_query_time、而非大于等于mysql> show variables like "log_slow_queries";
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| log_slow_queries | ON |
+------------------+-------+
1 row in set (0.00 sec)mysql> show variables like "long_query_time";
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)另一个和慢查询日志相关的参数是log_queries_not_using_indexes如果运行的SQL没有使用索引、则MySQL同样会将这条语句记录到慢查询日志文件mysql> show variables like "log_queries_not_using_indexes";
+-------------------------------+-------+
| Variable_name | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF |
+-------------------------------+-------+
1 row in set (0.00 sec)在这里、我没有开启、但有点需要提醒、如果在线修改该参数、虽然没有报错、但是不会生效MySQL 还提供了专门用来分析满查询日志的工具程序 mysqldumpslow、用来帮助MySQL DBA解决可能存在的性能问题例子、获得 TOP-5 SQL语句:[mysql@localhost bin]$ ./mysqldumpslow -s al -n 5 /home/mysql/mysql/log/slow.logReading mysql slow query log from /home/mysql/mysql/log/slow.log
Count: 1 Time=0.00s (0s) Lock=0.00s (0s) Rows=0.0 (0), 0users@0hosts
MySQL 5.6.10 跨平台GTID复制实践【体系结构】MySQL 日志文件--错误日志相关资讯 MySQL日志文件 MySQL慢查询日志
- MySQL优化 - 开启MySQL慢查询日志 (05月12日)
- 用命令过滤MySQL慢查询日志 (11/23/2015 20:14:37)
- MySQL慢查询日志的方法 (01/29/2015 12:11:07)
| - MySQL日志文件类型 (04月13日)
- MySQL开启慢查询日志 (09/11/2015 13:43:16)
- MySQL 慢查询日志(Slow Query Log) (10/07/2014 19:13:13)
|
本文评论 查看全部评论 (0)