1685 字
8 分钟
MySQL 面试复习导读:知识地图与阅读路线
  1. 1MySQL 面试复习导读:知识地图与阅读路线本文
  2. 2MySQL 存储引擎怎么选:InnoDB、MyISAM 与 MEMORY
  3. 3MySQL 索引类型与 B+ 树:结构、分类和失效场景
  4. 4MySQL B+ 树查询全过程:从根节点到页目录
  5. 5InnoDB 聚簇索引与二级索引:什么是回表
  6. 6MySQL 覆盖索引:如何避免回表
  7. 7MySQL 联合索引的最左前缀匹配原则
  8. 8MySQL 索引下推:把过滤提前到存储引擎
  9. 9MySQL 事务异常读:脏读、不可重复读与幻读
  10. 10MySQL 四种事务隔离级别与选型取舍
  11. 11MySQL MVCC:Undo Log、版本链与 ReadView
  12. 12MySQL InnoDB 锁的分类:行锁、表锁与意向锁
  13. 13MySQL 乐观锁与悲观锁:冲突少时重试,冲突多时排队
  14. 14MySQL 发生死锁怎么办:检测、定位与处理
  15. 15MySQL 事务的 ACID 特性分别是什么
  16. 16InnoDB Redo Log 如何保证崩溃恢复
  17. 17InnoDB Undo Log 的回滚与 MVCC 作用
  18. 18MySQL Binlog 是什么,和 Redo Log 有什么区别
  19. 19一条 MySQL 查询从连接到返回结果经历什么
  20. 20如何用 EXPLAIN 读懂 MySQL 执行计划
  21. 21MySQL 为什么需要 Redo Log 与 Binlog 两阶段提交
  22. 22MySQL 崩溃后如何恢复已提交事务
  23. 23InnoDB Buffer Pool 如何提升查询与写入性能
  24. 24联合索引应该如何设计
  25. 25InnoDB 快照读与当前读如何处理幻读
  26. 26联合索引范围条件之后的列还能使用吗
  27. 27MySQL 索引看起来失效了,如何判断优化器的选择
  28. 28MySQL 8.0 如何定位并处理 InnoDB 死锁
  29. 29MySQL 慢查询如何定位和优化
  30. 30MySQL 的 ORDER BY、GROUP BY 与 filesort
  31. 31MySQL 普通索引和唯一索引如何选择
  32. 32MySQL 主从复制的基本流程是什么
  33. 33MySQL 主从延迟和读写分离如何处理
  34. 34MySQL 深分页为什么慢,如何改写
  35. 35InnoDB 主键应该如何设计
  36. 36MySQL 字符集与排序规则有什么区别
  37. 37数据库范式与反范式如何取舍

这份导读面向后端校招和初级岗位。这里的“优先级”是复习安排建议,不代表真实面试题频率。先掌握 InnoDB、索引、事务和执行计划的基本机制,再读日志恢复与常见故障;复制高可用、深度调优和特定场景设计按目标岗位补充。默认讨论 MySQL 8.0+ 与 InnoDB;实际行为仍要看隔离级别、表结构、执行计划和实例配置。

知识地图#

MySQL 查询与写入
├─ 查询执行:连接/解析 → 优化器 → 执行器 → InnoDB
│ └─ 索引优化:B+ 树 → 联合索引 → 回表/覆盖/ICP
│ └─ 验证与调优:EXPLAIN → 慢 SQL → 排序/分页
├─ 事务并发:ACID → 隔离级别/异常读 → MVCC 快照读
│ └─ 当前读与锁 → 锁等待/死锁 → 业务并发控制
├─ 持久化恢复:Buffer Pool → Redo/Undo/Binlog → 两阶段提交
│ └─ 崩溃恢复与备份恢复
├─ 数据模型:引擎与表结构 → 主键/字符集/范式
└─ 可用性扩展:主从复制 → 复制延迟/读写分离

其中,索引文章回答“怎样定位和减少读取”,执行计划回答“数据库实际选择了什么”;MVCC 与锁回答“并发事务读写如何互相影响”;Redo、Undo、Binlog 分别服务引擎恢复、回滚/旧版本和复制/时间点恢复,彼此不能混为一谈。

先读路线#

每一步先读一篇主入口,最多再读一篇补充。能达到掌握标准就继续;时间有限时先完成前九步,最后一步只按目标岗位选一个主题。

  1. 存储引擎对比。掌握 Server 层与 InnoDB 的职责;想串起查询大致经过的环节,再补 SQL 执行流程。
  2. 聚簇索引与二级索引:什么是回表。能解释两类叶子节点存什么、回表如何发生;对 B+ 树陌生时补 索引类型与 B+ 树。
  3. 联合索引设计。能根据一条查询推导索引列顺序,并说清等值前缀、范围条件和排序的影响;想判断范围后列的作用,再补 范围列与 ICP。
  4. EXPLAIN 执行计划。能用 key、rows、filtered、Extra 解释计划;需要完整排障步骤时补 慢查询排查。
  5. 事务 ACID。能分别解释四个特性及其实现边界,并用转账事务说明原子性与一致性。
  6. MVCC 与 ReadView。能沿版本链说明快照读如何判断可见版本;遇到幻读问题时补 快照读与当前读。
  7. Binlog 与 Redo Log 的区别。能比较 Redo、Undo、Binlog 的归属和用途;想理解协调提交,再补 两阶段提交。
  8. 事务隔离级别。能比较四种级别及异常读;需要锁的粒度和模式时补 InnoDB 锁分类。
  9. MySQL 8.0 InnoDB 死锁排查案例。能按顺序查看死锁现场、锁等待与相关事务,并提出减少死锁的改法。
  10. 按岗位从拓展主题中选一个:例如 主从复制、深分页 或 字符集与排序规则。达到目标是能讲清适用场景和主要代价,不要求初级岗位把所有拓展专题一次读完。

复习优先级#

P0:核心机制与基本使用#

先掌握引擎、索引定位与回表、联合索引基本设计、SQL 执行流程和 EXPLAIN;再掌握 ACID、隔离级别、MVCC、快照读/当前读和常用锁;最后能区分 Redo、Undo、Binlog 的作用。目标是可以说明机制、读懂简单计划,并推演一条查询或事务,不只是背术语。

P1:深入机制与排查案例#

按需要深入 Buffer Pool、两阶段提交、崩溃恢复、死锁现场排查、范围条件后列与 ICP、优化器选择计划。ORDER BY/GROUP BY、覆盖索引、索引下推、唯一索引等可作为常见追问练习;若已经能区分概念并解释代价,可跳过重复定义,直接看案例和计划。

P2:复制与特定场景调优#

按目标岗位选择主从复制与延迟、读写分离、深分页、主键选型、字符集排序规则、范式与反范式。面向数据库运维或高可用岗位时再深入故障切换、日志保留和容量规划;不必把这些专题当作所有后端初级岗位的首轮必读。

相关主题如何搭配#

完整目录#

目录编号与页面的系列导航一致:导读是第 1 篇,后续专题按基础主干、追问深化、场景拓展排列。主线用于第一轮学习,完整目录用于按问题查阅。

P0:核心机制与基本使用#

  1. 存储引擎怎么选:InnoDB、MyISAM 与 MEMORY
  2. 索引类型与 B+ 树
  3. B+ 树查询全过程
  4. 聚簇索引与二级索引:什么是回表
  5. 覆盖索引:如何避免回表
  6. 联合索引的最左前缀原则
  7. 索引下推 ICP
  8. 事务异常读:脏读、不可重复读与幻读
  9. 四种事务隔离级别
  10. MVCC:Undo Log、版本链与 ReadView
  11. InnoDB 锁的分类
  12. 乐观锁与悲观锁
  13. 死锁检测、定位与处理概览
  14. 事务 ACID 特性
  15. Redo Log 与崩溃恢复
  16. Undo Log:回滚与 MVCC
  17. Binlog 与 Redo Log 的区别
  18. 一条查询的执行流程
  19. 如何读 EXPLAIN 执行计划

P1:深入机制与排查案例#

  1. Redo Log 与 Binlog 两阶段提交
  2. 崩溃后如何恢复已提交事务
  3. InnoDB Buffer Pool
  4. 联合索引设计
  5. 快照读与当前读如何处理幻读
  6. 联合索引范围条件后的列还能使用吗
  7. 索引失效与优化器选计划
  8. MySQL 8.0 InnoDB 死锁排查案例
  9. 慢查询定位与优化
  10. ORDER BY、GROUP BY 与 filesort
  11. 普通索引与唯一索引

P2:复制与特定场景调优#

  1. 主从复制基本流程
  2. 主从延迟与读写分离
  3. 深分页优化
  4. InnoDB 主键设计
  5. 字符集与排序规则
  6. 范式与反范式取舍
MySQL 面试复习导读:知识地图与阅读路线
https://blog.xqcherry.top/posts/interview/mysql/mysql-interview-roadmap/
作者
xqcherry
发布于
2026-10-12
许可协议
CC BY-NC-SA 4.0