卓望公司校招Java开发一面面经
《面试题目》
- 自我介绍
- MySQL 的 B 树结构
《参考解析》
- MySQL 索引数据结构:InnoDB 存储引擎实际使用的是 B+树而非普通 B 树——B+树所有数据都存储在叶子节点,非叶子节点只存储索引键,叶子节点之间通过双向链表连接,这使得范围查询和全表扫描的效率远高于 B 树(B 树的数据分散在所有节点上,中序遍历才能得到有序序列)。
- B+树相比 B 树的优势:相同层高下 B+树的非叶子节点只存索引不存数据,能容纳更多的键,树的高度更矮胖,磁盘 IO 次数更少;同时叶子节点的链表结构天然支持范围查询的顺序遍历。