SQL 与数据库排障 · 系列目录
叙事框架:一个慢 SQL 导致全站瘫痪的故事 总计 37 篇,已发布 14 篇,23 篇待完善
一、SQL / 索引类
- ✅ 一个慢 SQL 打垮了整个服务?从 EXPLAIN 到索引优化全实战
- ✅ 索引失效的 10 种场景:用 EXPLAIN 一个个验证
- ✅ GROUP BY 查询性能骤降的根因分析
- ✅ 两个 JOIN 列都有索引,MySQL 还是跑了 38 秒
- ✅ 少了个引号查询慢 80 倍:MySQL 隐式转换让索引废了
- ✅ 翻到 1000 页慢了 200 倍:OFFSET 不是翻页——是扫了再扔
二、锁 / 事务类
- ✅ 我写了个转账接口,MySQL 把我一个事务杀了——SHOW ENGINE INNODB STATUS 全拆解
- ✅ MySQL 没锁升级?一条 UPDATE 怎么把 5 万行全锁了
- ✅ 间隙锁导致的并发插入死锁问题
- ✅ MySQL 同一个事务查了四次,数据反复横跳——快照读和当前读的边界
- ✅ 长事务导致的 UNDO 膨胀和回滚段满
- ✅ 改了行配置死锁没了账却乱了:MySQL 隔离级别选型血泪史
三、主从 / 高可用类
- ✅ MySQL 主从延迟监控的顶级谎言:Seconds_Behind_Master
- ✅ 主从切换失败?查查 GTID 集合——MASTER_AUTO_POSITION 的隐性陷阱
- ⏳ 半同步复制超时导致数据丢失
- ⏳ MySQL 主从 UUID 冲突导致的 IO 线程停止
- ⏳ MHA 自动故障切换失败排查
四、连接 / 性能类
- ⏳ MySQL 连接数爆满:连接泄漏三种典型场景
- ⏳ 数据库连接池参数不合理导致的性能瓶颈
- ⏳ MySQL 服务器负载突增的快速定位
- ⏳ 热点行更新引起的锁等待雪崩
五、存储 / 配置类
- ⏳ MySQL 磁盘满了:binlog 清理策略配置失误
- ⏳ my.cnf 参数配置不当引发的系列问题
- ⏳ MySQL 8 新索引类型选错导致性能更差
- ⏳ 数据库版本升级引发的兼容性问题
六、分库分表类(MyCat)
- ⏳ MyCat 分库分表后跨节点 JOIN 慢到超时
- ⏳ MyCat 全局序列号生成冲突排查
- ⏳ 读写分离下主从延迟导致查到脏数据
- ⏳ MyCat SQL 解析错误导致路由不正确
- ⏳ MyCat 故障转移触发后数据一致性验证
七、缓存类(Redis)
- ⏳ Redis 缓存穿透打垮了数据库?雪崩/穿透/击穿全分析
- ⏳ Redis 大 Key 扫描与热 Key 发现:不重启的在线诊断方案
- ⏳ Redis 集群扩容期间数据迁移失败分析
- ⏳ Redis 哨兵模式自动故障切换延迟导致写丢失
- ⏳ Redisson 分布式锁超时释放引发的并发问题
- ⏳ Redis 内存打满的淘汰策略分析
- ⏳ Jedis 连接池泄漏排查
最后更新:2026-06