Files
wehub-resource-sync bdaa917396
Docs Test / Test docs (push) Failing after 1s
chore: import upstream snapshot with attribution
2026-07-13 11:57:49 +08:00
..

title, description, category, tag, sitemap, head
title description category tag sitemap head
MySQL 专题:索引、事务、日志、备份恢复、MVCC 与性能优化 MySQL 面试与性能优化学习路线,涵盖索引、索引失效、事务隔离级别、MVCC、binlog、redo log、undo log、备份恢复、执行计划和 SQL 优化。 数据库
MySQL
数据库
后端面试
changefreq priority
weekly 0.9
meta
name content
keywords MySQL,MySQL面试题,MySQL索引,索引失效,事务隔离级别,MVCC,binlog,redo log,undo log,MySQL备份,MySQL恢复,执行计划,SQL执行过程,MySQL性能优化,后端面试

MySQL 是后端开发最常用的关系型数据库之一,也是数据库面试中最容易追问到底的专题。学习 MySQL 时,建议围绕“索引怎么让查询变快、事务怎么保证一致性、日志怎么保证恢复和复制、备份怎么兜住数据事故、执行计划怎么定位慢 SQL”这几条主线展开。

适合谁看

  • 想系统学习 MySQL 原理和性能优化的后端开发者。
  • 准备 MySQL 索引、事务、MVCC、日志、执行计划相关面试题的同学。
  • 已经能写常规 SQL,但对慢 SQL 分析、索引设计和事务问题不够熟的读者。
  • 需要在项目中处理 MySQL 性能、数据一致性和字段设计问题的工程师。

学习重点

  • B+ 树索引、聚簇索引、二级索引、覆盖索引和回表分别是什么?
  • 哪些 SQL 写法会导致索引失效,如何通过执行计划验证?
  • MySQL 事务隔离级别如何影响脏读、不可重复读和幻读?
  • InnoDB 如何通过 MVCC、undo log 和 Read View 实现快照读?
  • binlog、redo log、undo log 分别解决复制、崩溃恢复和事务回滚中的哪些问题?
  • MySQL 如何通过全量备份、binlog 和 PITR 恢复到指定时间点?
  • 慢 SQL 优化应该如何从建表、索引、SQL 写法和执行计划逐层定位?

建议阅读顺序

  1. MySQL 常见面试题总结:先建立 MySQL 高频问题清单。
  2. MySQL 索引详解MySQL 索引失效场景总结:理解索引原理和常见失效场景。
  3. MySQL 事务隔离级别详解InnoDB 存储引擎对 MVCC 的实现:掌握事务和一致性读。
  4. MySQL 三大日志详解MySQL备份与恢复详解SQL 语句在 MySQL 中的执行过程:理解写入、提交、恢复和执行链路。
  5. MySQL 执行计划分析MySQL 高性能优化规范建议总结:把原理落到慢 SQL 和工程规范上。

核心文章

总览与规范

索引与执行计划

事务、MVCC 与日志

执行过程与工程细节

高频问题

  • MySQL 为什么推荐使用 B+ 树索引?
  • 聚簇索引和二级索引有什么区别?什么是回表和覆盖索引?
  • 最左前缀原则是什么?哪些场景会导致索引失效?
  • 如何通过 EXPLAIN 判断一条 SQL 是否走了合适的索引?
  • MySQL 的四种事务隔离级别分别解决什么问题?
  • MVCC 是如何实现的?Read View 里有哪些关键字段?
  • binlog、redo log、undo log 有什么区别?两阶段提交解决什么问题?
  • MySQL 如何通过全量备份和 binlog 做按时间点恢复?
  • 慢 SQL 优化应该从哪些维度入手?
  • 自增主键为什么不一定连续?
  • DATETIME 和 TIMESTAMP 应该如何选择?

相关专题