首页/数据/数据库速查/慢查询日志配置(slow_query_log)
性能与调优57 条

慢查询日志配置(slow_query_log)

性能优化的入口:开启慢查询日志并设合理阈值(long_query_time),让「哪条 SQL 慢」先有证据,再谈优化。

数据库速查数据更新于 2026-10-12

动态开启

动态开启
SET GLOBAL slow_query_log = ON;
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
SET GLOBAL long_query_time = 1;          -- 秒,支持小数如 0.5
SET GLOBAL log_queries_not_using_indexes = OFF;
SHOW VARIABLES LIKE 'slow%';
long_query_time默认 10 秒;线上建议 0.5-1 秒起步
log_outputFILE / TABLE(mysql.slow_log)
固化写进 my.cnf 并纳入版本管理
log_queries_not_using_indexes 会记录所有未走索引查询,高并发下日志暴涨,务必配合 log_throttle_queries_not_using_indexes。

易错点

  • 阈值设 10 秒(默认):真正要命的 0.5 秒高频查询永远不上榜
  • 开着慢日志不做轮转:磁盘被日志写满引发新的故障

数据来源与参考

  • MySQL 8.0 Reference Manual: Slow Query Log

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌