MySQL 八股文主要看《高性能 MySQL》就可以了,InnoDB 深入的话再看一下《MySQL技术内幕》,底层数据结构的话可以看一下《算法》中二叉搜索树、AVL、二三树、红黑树、B 树的相关章节。

MySQL 八股文 应用篇 1

  • 使用什么存储引擎比较多?有什么特点?
  • 用不用索引?怎么用?
  • 事务特性,详细讲一下?
  • ACID 中 I 有几种级别?
  • 说一说使用的存储引擎使用哪种隔离级别?
  • 如何检测慢查询?
  • EXPLAIN 怎么用?有什么关键字?
  • 如何优化慢查询?

MySQL 八股文 原理篇 1

  • InnoDB 底层使用什么数据结构?
  • InnoDB 和 MyISAM 底层使用的数据结构有什么不同?
  • B 树和 B+ 树有什么区别?
  • 为什么不用 AVL、红黑树、跳表?
  • InnoDB 怎么建索引的?
  • 为什么索引要满足最左匹配?
  • 为什么 MySQL 在建表的时候要使用更紧凑的数据结构?

MySQL 八股文 应用篇 2

  • InnoDB 中有哪些锁?分别讲一下?
  • 行锁和表锁分别有什么特点?
  • MySQL 是如何实现乐观锁和悲观锁的?
  • 不使用锁如何实现并发?
  • 锁锁住的是什么?

MySQL 八股文 应用篇 3

  • 两个事务并发读的过程是什么?
  • 两个事务并发写的过程是什么?
  • 两个事务一个读,一个写会发生什么?
  • InnoDB 中的 MVCC 是什么?解决了什么问题?

MySQL 八股文 应用篇 3

  • MySQL 是如何保证 crash-safe 的?
  • Redo Log 的流程是什么?
  • (上一个引申)讲一讲分布式事务?2PC 是什么?
  • 有 Redo Log 一定能保证 crash-safe 吗?什么情况下数据会丢失?

MySQL 八股文 应用篇 4

  • Binlog 是做什么的?
  • Binlog 在什么阶段写入?
  • Binlog 在 crash-safe 中充当什么角色?
  • 主从同步的流程是什么?
  • Binlog、Redo Log、Undo Log、Relay Log 之间有什么区别?