第 10 章 · 第六节 · 课件第 45、46、47、48 页合并重做
慢查询日志
记录执行时间超过 long_query_time 的查询。
慢查询日志
开启
SET GLOBAL slow_query_log = ON; SET GLOBAL long_query_time = 2; SET SESSION long_query_time = 2;
- long_query_time 默认 10 秒
- SET GLOBAL 对以后新建的连接有效,当前连接要用 SET SESSION 再设一次
- 要长期有效,在 my.ini 中写 slow_query_log=1 和 long_query_time=2
查看
SHOW VARIABLES LIKE 'slow_query%'; SHOW VARIABLES LIKE 'long_query_time';
- 文件默认是数据目录中的 主机名-slow.log,文本文件
- 每条记录中的 Query_time 是执行时间
- 先把旧文件改名或删除,再执行 flush-logs
- slow_query_log 设为 OFF 再设为 ON,不会新建文件
慢查询的时间限制是 long_query_time。slow_launch_time 是创建线程的时间限制,与慢查询无关。
试一试时间限制改了,哪些查询会被记下
long_query_time
| 查询 | 执行时间 | 记入慢查询日志 |
|---|
知道更多默认是否打开
服务器默认关闭慢查询日志。用 MySQL Installer 安装时默认勾选了它,所以可能已经打开。
