为什么不B + -Tree MongoDB

时间:2013-04-02 15:44:05

标签: mongodb geospatial b-tree spatial-index

有谁知道为什么MongoDB使用B-Tree而不是B + -Tree?

据我所知,大多数DBMS使用B + -Tree。 MongoDB使用B-Tree有什么特殊原因吗?

感谢。

2 个答案:

答案 0 :(得分:0)

据我所知,MongoDB将索引存储为存储数据的相同文件的一部分。所以B树更好! B +树仅在叶子中存储数据。

答案 1 :(得分:0)

当我学习B / B +时,这个问题使我感到困惑。现在我得到了一些答案:

  1. mysql是一个相对的数据库,而mongo不是。这意味着我们在mysql中进行更多范围操作(例如M)。因此,B +树的优势并不明显。
  2. B树的最佳搜索时间为O(1),而B +始终为O(log n)。因此,当搜索一些“热门”数据时。 B树具有更好的性能。(但是,如果在使用B树时始终在叶子中搜索数据,则它会花费更多的磁盘IO时间,因此可能无法正常工作。)

总的来说,我认为这取决于mongo实现的细节。但是我不是Mongo开发人员:D