关于结构的区别:
B树的所有节点都存储数据;B+树只有叶节点存储数据,内部节点存储的只有键且其叶子节点通过链表相连。
关于检索的区别:
B 树的检索的过程相当于对范围内的每个节点内(这里的节点可能会存储多个有序的值) 的关键字做二分查找,可能还没有到达叶子节点,检索就结束了。对B树来说,节点内部的键是有序的,因此可以用二分查找来快速定位相应的范围。
B+与B树的区别主要在于其叶子节点通过链表相连,该链表结构非常适合范围查询。在进行批量数据处理的时候,链表也可以让叶子节点按顺序遍历而不需要从根节点开始查找。