B树和B+树的区别

1.从磁盘上理解:磁盘的最小单位是扇区,读取数据时候会去遍历扇区,建索引的时候,索引的数据小于表数据,因为从磁盘上读取扫描索引的次数就要小一些。

2.B树和B+数据的区别也有以上原因,B树的每个节点不仅仅存键值还要存数据,这样一来每个页16k的空间就存的节点比B+树的节点要少,这样就增加了io读取次数,所以B+树只有叶子节点存数据,这样16k一页的空间能存更多的索引节点,减少io遍历次数同时也降低了树的高度

3.B+树的叶子节点有顺序指针适合范围查询,排序操作。
4.上面说的叶子节点存储数据的值的聚簇索引,每个表的主键用的索引,叶子节点才会存数据,其他索引称为二级索引叶子节点存的主键的值。如果表没有主键,sql也会隐式的创建一个主键索引。
参考文章:https://blog.csdn.net/qq_35958391/article/details/124386023

你可能感兴趣的:(b树,数据结构)