首先开启慢查询日志,通过配置slow_query_log、long_query_time等参数记录执行缓慢的SQL;接着使用mysqldumpslow或pt-query-digest分析日志,识别高频、耗时长、扫描多的语句;最后结合EXPLAIN查看执行计划,检查type、key、rows和Extra信息,优化索引或SQL结构。

要分析 MySQL 的慢查询语句,核心是开启慢查询日志并结合工具进行解读。关键在于定位执行时间长、扫描数据多或未合理使用索引的 SQL 语句。
确保 MySQL 已启用慢查询日志功能,这是分析的前提:
slow_query_log = ON
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1
log_queries_not_using_indexes = ON
MySQL 自带的 mysqldumpslow 是快速分析慢查询日志的命令行工具:
输出结果会聚合相似语句,显示执行次数、平均耗时、锁时间等信息。
pt-query-digest(Percona Toolkit 中的工具)比 mysqldumpslow 更强大,支持统计维度更丰富:
找到可疑 SQL 后,使用 EXPLAIN 查看执行计划:
根据执行计划判断是否需要创建索引、重写 SQL 或调整表结构。
基本上就这些。开启日志、收集数据、用工具分析、再深入 EXPLAIN 验证,就能系统性地优化慢查询。
以上就是mysql如何分析慢查询语句的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号