B-Tree vs B+ Tree
Both B-Trees and B+ Trees are multi-way balanced search trees designed for external storage. In a B-Tree, records or record pointers may exist in internal nodes and leaves. In a B+ Tree, internal nodes primarily contain separator keys and child pointers, while records or record pointers are stored at the leaf level. B+ Tree leaves are commonly linked, making sequential and range access particularly efficient.
B+ Tree internal nodes can fit more separator keys because records are kept at leaves.
Higher fan-out generally reduces tree height.
Linked leaves make range scans efficient.
Uniform leaf-level record access simplifies many database index operations.
Both structures are designed to reduce storage I/O.