在数据库底层存储引擎中,索引结构决定了数据的读写性能。B+ Tree 是传统关系型数据库(如 MySQL, PostgreSQL)的主流选择,而 LSM Tree 则是 NoSQL 数据库(如 Cassandra, RocksDB)的核心。
B+ Tree 提供了稳定的 O(log n) 查询效率,但在写操作时会触发页分裂,产生随机 I/O。相比之下,LSM Tree 采用追加写(Append-only)模式,通过 MemTable 和 SSTable 将随机写转为顺序写,极大地提升了吞吐量。
结论:读多写少的场景首选 B+ Tree;写密集型且数据量巨大的场景建议使用 LSM Tree。