📢 欢迎来到万事技术论坛!本站仅讨论合法编程技术话题,严禁外挂/作弊/黑产/盗版内容,违者封号。

一条慢 SQL 是怎么拖垮整个站点的

晚风 核心会员

真实事故复盘:某列表页平时 20ms,某天突然 5s,整站卡死。

根因:
1. 新加的筛选条件没走索引,WHERE status=1 AND created_at>? 里 created_at 没建索引,全表扫。
2. 该接口被首页高频调用,慢查询把数据库连接池占满,别的请求全排队。
3. 没有超时兜底,雪崩。

排查步骤:
- EXPLAIN 看是否 ALL(全表扫);
- 加联合索引 (status, created_at);
- 给查询加 timeout,连接池设上限;
- 热点数据上 Redis 缓存。

教训:索引不是建了就完,要按实际查询条件建联合索引,并定期看慢查询日志。

楼主 · 2026-09-28 15:11 · 浏览 109 · 编辑于 2026-09-28 15:11
dba_zhou 进阶会员

连接池被打满这个连锁反应太真实了。

1楼 · 2026-09-28 15:11
登录 后即可参与回复。