MySQL慢日志
1、MySQL慢日志概要说明
慢查询日志由执行时间超过 long_query_time参数配置且大于 min_examined_row_limit参数设置的 SQL 语句组成,慢查询日志可用于查找执行时间较长且因此适合优化的查询。然而,检查执行时间较长的查询日志也是一项耗时的任务;为了使检查慢 sql更容易,可以使用 mysqldumpslow命令或者 pt_query_digest 工具来处理慢查询日志文件获取汇总后的慢 sql 信息。
慢 sql 记录中sql 执行获取初始锁的时间不计入执行时间,mysqld在执行完并且释放所有锁后将一条语句写入慢查询日志,因此日志顺序可能与执行顺序不同。
2、MySQL慢日志控制参数
默认情况下,慢查询日志slow_query_log参数是关闭的,即参数配置为 0;开启慢日志:slow_query_log=1,开启后使用slow_query_log_file指定慢日志文件的路径:slow_query_log_file=file_namelog_output。
开启后,慢日志记录阈值由参数long_query_time 参数控制,该参数最小值为 0,默认值为 10s,参数可以指定到微秒级别。
mysql> show variables like '%long_query_time%';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 0.000005 |
+-----------------+----------+
1 row in set (0.01 sec)