面试官:聊一下你对MySQL索引实现原理?
可以看到,不管怎么变化,B+树总是会保持平衡。但是为了保持平衡,对于新插入的键值可能需要做大量的拆分页(split)操作,而B+树主要用于磁盘,因此页的拆分意味着磁盘的操作,应该在可能的情况下尽量减少页的拆分。因此,B+树提供了旋转(rotation)的功能.
个人理解:
当我们使用辅助索引查找数据时, 首先通过辅助索引找到 主键位置, 再通过聚集索引取出数据.(数据存储在聚集索引的叶子节点中)
可以看到,不管怎么变化,B+树总是会保持平衡。但是为了保持平衡,对于新插入的键值可能需要做大量的拆分页(split)操作,而B+树主要用于磁盘,因此页的拆分意味着磁盘的操作,应该在可能的情况下尽量减少页的拆分。因此,B+树提供了旋转(rotation)的功能.
个人理解:
当我们使用辅助索引查找数据时, 首先通过辅助索引找到 主键位置, 再通过聚集索引取出数据.(数据存储在聚集索引的叶子节点中)