有谁知道为什么 MongoDB 使用 B-Tree 而不是 B+-Tree?
据我所知,大多数 DBMS 使用 B+-Tree。 MongoDB 使用 B-Tree 有什么特殊原因吗?
谢谢。
最佳答案
这个问题让我学B/B+的时候很困惑,现在我得到了一些答案:
- mysql 是关系数据库,而 mongo 不是。这意味着我们在mysql中做更多的范围操作(比如
select * from xx where id > 23
)。所以B+树的优势并不明显。 - B 树的最佳搜索时间是 O(1),而 B+ 总是 O(log n)。所以当搜索一些“热门”数据时。 B树有更好的性能。(但是,如果使用B树时总是在叶子中搜索数据,则需要更多的磁盘IO时间,因此可能性能不佳。)
在我看来,这取决于mongo如何实现的细节。但我不是Mongo开发人员。 :D
关于mongodb - 为什么不用B+-Tree MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15768409/