目录
- 一、索引采用B+树的优势
- 二、为什么不使用其他数据结构
- 2.1、哈希索引
- 2.2平衡二叉树
- B树
- 参考
mysql索引采用B+树
一、索引采用B+树的优势
1可以进行范围查找,通过单向链表解决(通过单向链表已经排好序)。
2非叶子结点只存储key,不存储value;叶子结点同时存储key,value
二、为什么不使用其他数据结构
2.1、哈希索引
1哈希索引适合等值查询,无法进行范围查询
2哈希索引无法进行排序
2.2平衡二叉树
1随着树的高度增加,查找速度变慢
2如果要查找id>5的结点,可以看到还要往上查找父结点,效率低。
B树
1比起AVL树而言,解决了高度的问题。
2同样存在AVL树要查找id>5的结点,可以看到还要往上查找父结点,效率低。
参考
B站《MySQL索引数据结构为什么使用B+树》