数据存储方式
B树:B树的每个节点既存储数据也存储索引。这意味着B树的非叶子节点既包含索引键也包含对应的数据。
B+树:B+树的非叶子节点仅存储索引键,而数据全部存储在叶子节点。B+树的所有叶子节点通过指针连接成一个有序链表,便于范围查询。
叶子节点关联性
B树:B树的叶子节点和非叶子节点没有直接关联,各自独立存在。
B+树:B+树的叶子节点之间通过链表相连,形成了一个有序的链表。这有助于范围查询,因为数据按顺序排列。
范围查询效率
B树:在B树上进行范围查询相对较慢,因为需要访问非叶子节点和叶子节点。
B+树:B+树在范围查询时非常高效,因为只需遍历叶子节点的链表。
非叶子节点的索引键
B树:非叶子节点的索引键可以是重复的,可能导致不必要的冗余数据。
B+树:B+树的非叶子节点的索引键一般是不重复的,确保了索引的唯一性。
叶子节点个数
B树:B树的叶子节点数量和数据记录数量相等。
B+树:B+树的叶子节点数量比数据记录数量多,因为叶子节点主要用于存储数据和维护链表,而非叶子节点用于索引。
B+树
B树