当前位置: 首页 > 图灵资讯 > java面试题> 金三银四精选java面试题-B树和B+树的区别,为什么Mysql使用B+树

金三银四精选java面试题-B树和B+树的区别,为什么Mysql使用B+树

来源:图灵教育
时间:2023-12-17 09:18:09
 

B树和B+树的区别,为什么MySQL使用B+树

B树的特点:

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

 

B+树的特点:

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

 

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