阿里总监求放过,我再也不嘚瑟了,MySQL索引数据结构为什么使用B+树,我来告诉你_哔哩哔哩_bilibili
总结:
- 二叉查找树(BST):解决了排序的基本问题,但是由于无法保证平衡,可能退化为链表;
- 平衡二叉树(AVL):通过旋转解决了平衡的问题,但是旋转操作效率太低;
- B树:通过将二叉树改为多路平衡查找树,解决了树过高的问题;
- B+ 树:在 B 树的基础上,将非叶节点改造为不存储数据的纯索引节点,进一步降低了树的高度;此外将叶节点使用指针连接成链表,范围查询更加高效。
哈希索引
哈希值是无序的,不能进行范围查找
平衡二叉树
为什么不用平衡二叉树:树越高查找速度越慢、有回旋查找的问题
B 树