这份导读面向后端校招和初级岗位。这里的“优先级”是复习安排建议,不代表真实面试题频率。先掌握 InnoDB、索引、事务和执行计划的基本机制,再读日志恢复与常见故障;复制高可用、深度调优和特定场景设计按目标岗位补充。默认讨论 MySQL 8.0+ 与 InnoDB;实际行为仍要看隔离级别、表结构、执行计划和实例配置。
知识地图
MySQL 查询与写入├─ 查询执行:连接/解析 → 优化器 → 执行器 → InnoDB│ └─ 索引优化:B+ 树 → 联合索引 → 回表/覆盖/ICP│ └─ 验证与调优:EXPLAIN → 慢 SQL → 排序/分页├─ 事务并发:ACID → 隔离级别/异常读 → MVCC 快照读│ └─ 当前读与锁 → 锁等待/死锁 → 业务并发控制├─ 持久化恢复:Buffer Pool → Redo/Undo/Binlog → 两阶段提交│ └─ 崩溃恢复与备份恢复├─ 数据模型:引擎与表结构 → 主键/字符集/范式└─ 可用性扩展:主从复制 → 复制延迟/读写分离其中,索引文章回答“怎样定位和减少读取”,执行计划回答“数据库实际选择了什么”;MVCC 与锁回答“并发事务读写如何互相影响”;Redo、Undo、Binlog 分别服务引擎恢复、回滚/旧版本和复制/时间点恢复,彼此不能混为一谈。
先读路线
每一步先读一篇主入口,最多再读一篇补充。能达到掌握标准就继续;时间有限时先完成前九步,最后一步只按目标岗位选一个主题。
- 存储引擎对比。掌握 Server 层与 InnoDB 的职责;想串起查询大致经过的环节,再补 SQL 执行流程。
- 聚簇索引与二级索引:什么是回表。能解释两类叶子节点存什么、回表如何发生;对 B+ 树陌生时补 索引类型与 B+ 树。
- 联合索引设计。能根据一条查询推导索引列顺序,并说清等值前缀、范围条件和排序的影响;想判断范围后列的作用,再补 范围列与 ICP。
- EXPLAIN 执行计划。能用
key、rows、filtered、Extra解释计划;需要完整排障步骤时补 慢查询排查。 - 事务 ACID。能分别解释四个特性及其实现边界,并用转账事务说明原子性与一致性。
- MVCC 与 ReadView。能沿版本链说明快照读如何判断可见版本;遇到幻读问题时补 快照读与当前读。
- Binlog 与 Redo Log 的区别。能比较 Redo、Undo、Binlog 的归属和用途;想理解协调提交,再补 两阶段提交。
- 事务隔离级别。能比较四种级别及异常读;需要锁的粒度和模式时补 InnoDB 锁分类。
- MySQL 8.0 InnoDB 死锁排查案例。能按顺序查看死锁现场、锁等待与相关事务,并提出减少死锁的改法。
- 按岗位从拓展主题中选一个:例如 主从复制、深分页 或 字符集与排序规则。达到目标是能讲清适用场景和主要代价,不要求初级岗位把所有拓展专题一次读完。
复习优先级
P0:核心机制与基本使用
先掌握引擎、索引定位与回表、联合索引基本设计、SQL 执行流程和 EXPLAIN;再掌握 ACID、隔离级别、MVCC、快照读/当前读和常用锁;最后能区分 Redo、Undo、Binlog 的作用。目标是可以说明机制、读懂简单计划,并推演一条查询或事务,不只是背术语。
P1:深入机制与排查案例
按需要深入 Buffer Pool、两阶段提交、崩溃恢复、死锁现场排查、范围条件后列与 ICP、优化器选择计划。ORDER BY/GROUP BY、覆盖索引、索引下推、唯一索引等可作为常见追问练习;若已经能区分概念并解释代价,可跳过重复定义,直接看案例和计划。
P2:复制与特定场景调优
按目标岗位选择主从复制与延迟、读写分离、深分页、主键选型、字符集排序规则、范式与反范式。面向数据库运维或高可用岗位时再深入故障切换、日志保留和容量规划;不必把这些专题当作所有后端初级岗位的首轮必读。
相关主题如何搭配
完整目录
目录编号与页面的系列导航一致:导读是第 1 篇,后续专题按基础主干、追问深化、场景拓展排列。主线用于第一轮学习,完整目录用于按问题查阅。