Mysql索引数据结构 B-树 和 B+树
索引类型
哈希索引
- 只能做等值比较,不支持范围查找
- 无法利用索引完成排序
- 如果存在大量重复键值的情况下,哈希索引效率会比较低,可能存在哈希碰撞
B树 / B+树
- B 代表 balance 平衡的意思,是一种多路自平衡的搜索树
- InnoDB 引擎 默认使用B+树,Memory默认使用 B树
- B树所有节点都储存数据,B+树只在叶子节点储存,为了降低树的高度,每一层可以保存多个节点(>2个)
- 为了支持范围查询,B+树在叶子节点之间加上了双向链表,减少IO次数