B树的特点:
- 节点排序
-
⼀个节点可以存放多个元素,多个元素也排序了
B+树的特点:
-
拥有B树的特点
-
叶⼦节点之间有指针
-
⾮叶⼦节点上的元素在叶⼦节点上都冗余了,也就是叶⼦节点中存储了所有的元素,并且排好顺序
原因:
Mysql索引使⽤的是B+树,因为索引是⽤来
加快查询
的,⽽B+树通过对数据进⾏排序所以是可以提⾼查询速度的,然后通过⼀个节点中可以存储多个元素,从⽽可以使得B+树的⾼度不会太⾼,在Mysql中⼀个Innodb⻚就是⼀个B+树节点,⼀个Innodb⻚默认
16kb
,所以⼀般情况下⼀颗两层的B+树可以存
2000万⾏左右的数据,然后通过利⽤
B+树叶⼦节点
存储了所有数据并且进⾏了排序,并且
叶⼦节点之间有指针
,可以很好的⽀持全表扫描,范围查找等SQL语句。