本章你将彻底搞懂:MySQL 慢查询日志的开启与配置,如何用
mysqldumpslow和pt-query-digest分析慢 SQL。EXPLAIN 输出中每一列的含义(id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra、filtered)。用真实案例把一个 5.2 秒的订单查询优化到 0.05 秒,涉及全表扫描、索引设计、覆盖索引、文件排序消除等核心技巧。
配套资源:慢查询日志配置模板、pt-query-digest 分析脚本、EXPLAIN 逐列解读卡片、索引优化自检清单。
真实踩坑:我曾把slow_query_log_file设在系统盘,导致磁盘写满;还有一次EXPLAIN显示type=ALL但数据量小没建索引,上线后数据暴涨数据库直接打崩;更坑的是,一个明明有索引的查询走了filesort,原因是ORDER BY的字段顺序和索引不一致,导致服务器 CPU 飙到 90%。
1.1 一次慢查询引发的“雪崩”(含完整日志)
2018 年我在一家电商公司做 DBA。双十一大促当晚 20:30,一个订单统计报表的接口突然超时,随后数据库连接数从 50 飙升到 800,CPU 使用率冲到 98%,大量查询堆积,最终主库宕机。
订阅专栏 解锁全文

471

被折叠的 条评论
为什么被折叠?



