【MySQL】MySQL索引为何使用B+树结构,而不是二叉树、红黑树、B树?

1.概述

本章节我们主要来聊聊 MySQL索引为何使用B+树结构,而不是二叉树、红黑树、B树?

MysQL的索引机制中,有一点可谓是路人皆知,既默认使用B+树作为底层的数据结构。

有人会说树结构是以二分法查找数据,所以会在很大程度上提升检索性能,这点确实没错,但树结构有那么多,但为什么要选择B+树呢?而不选择二叉树、红黑树或B树呢?下面一起聊一聊这个话题。

1.1.为什么不使用二叉树

二叉搜索树是遵守二分搜索法实现的一种数据结构,它具有下面特点:

  1. 任意节点的左节点不为空时,左节点值小于根节点值;
  2. 右节点不为空时,右节点值大于根节点值;

依次存入数据,如果数据是递增的,则原二叉树退化为链表结构。

【MySQL】MySQL索引为何使用B+树结构,而不是二叉树、红黑树、B树?_第1张图片
此时树变成了链表结构,如果我们想查询

你可能感兴趣的:(数据库-MySQL,mysql,b树,数据库)