KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
数据库与缓存调优 — keel 龙骨
数据库与缓存调优 的参考信息:数据库与缓存调优
课程导读 · 每条结论都要能拿出数据
这门课解决的是一类很难靠猜解决的问题:为什么这条 SQL 时快时慢、为什么加了缓存反而更乱、为什么数据库明明很闲应用却在报错。
你会拿到什么
| 章节 | 一句话 | 关键动作 |
|---|---|---|
| 01 索引与查询调优 | 看懂执行计划再动手 | EXPLAIN 四列 + 联合索引 + 游标分页 |
| 02 事务、隔离级别与锁等待 | 并发写何时出错,怎么查 | 隔离级别取舍 + 死锁日志解读 + 热点行拆分 |
| 03 连接池与高并发写 | 容量怎么算,写压力怎么卸 | 连接池参数 + 读写分离 + 写路径四条策略 |
| 04 缓存设计 | 穿透/击穿/雪崩与一致性 | Cache Aside + 延迟双删 + 三问题防御 |
| 05 观测驱动的性能优化闭环 | 把"有点慢"变成可验收过程 | 五步闭环 + 压测曲线拐点 + 优化记录七字段 |
每章结构统一:原理 → 动手:可观察结果 → 故障注入 → 自测题。
这门课的硬要求
没有数据不许下结论。
- 优化前先记录
EXPLAIN与耗时基线; - 一次只改一处,改完用同一套 SQL 同一套压测参数再测;
- 每次改动都要写清副作用和回滚方案。
做不到这三条,优化就还是玄学——你会得到一堆"我觉得快了"的说法和一个再也解释不清的系统。
与其它专题的关系
- 配套 后端高并发工程拔高:那边管应用侧(超时/限流/熔断/消息可靠性),这边管存储侧。真实故障通常是两侧叠加,建议先学那边。
- 后继 索引与并发实战:学完本课后,如果还想解决"走了索引还是慢""并发拐点怎么算""死锁该改哪行代码""热点怎么削峰",继续那门课——它把本课的框架推进到可定量、可上线、可回滚。
vibe-coding/讲的是如何让 AI 协助这类改动:数据库优化尤其容易被"看起来合理"的改写毁掉(例如把索引列套进函数),务必要求它给出EXPLAIN证据再采纳。
替身边界
示例以 MySQL / InnoDB + Redis + SQLAlchemy 异步会话为主。PostgreSQL 在隔离级别实现、执行计划字段、以及 EXPLAIN ANALYZE 的输出上有差异,概念相通但请以对应版本官方文档为准。分库分表只给出判断时机与代价,不涉及具体中间件的配置细节。