B树和B+树的区别--MySQL

B树和B+树的区别

B树的特点:

  1. 节点排序
  2. 一个结点可以存储多个元素,多个元素也排序

B+树的特点

  1. 拥有B树的特点
  2. 叶子结点之间具有指针
  3. 非叶子结点上的元素在叶子节点上都冗余了,也就是叶子结点中存储了所有元素,并且排好顺序

MySQL索引使用的是B+树,因为索引是用来加快查询的,而B+树通过对数据进行排序是可以提高查询速度的,然后通过一个结点中可以存储多个元素从而可以使得B+树的高度不会太高,在MySQL中一个innodb页就是一个B+树节点,一个innodb页默认16kb,所以一般情况下一颗两层的B+树可以存2000万行左右的数据,然后通过利用B+树子节点存储了所有数据并且进行了排序,并且叶子结点之间有指针,可以很好的支持全表扫描,范围查找等SQL语句.

你可能感兴趣的:(数据库)