如何在Mongodb中创建B树

时间:2012-02-01 17:45:28

标签: mongodb b-tree

我正在尝试了解如何创建B树。

假设我使用数字作为索引变量。如何使用depth = 1创建树,或者它是这样的 - http://bit.ly/ygwlEp     如果是这样,树的深度和最大儿童数量是多少。 对于复合键(比如说2个索引变量),会有两棵树。或者它是一棵树,第一级为第一级,第二级为第二级? 假设我将时间戳作为索引键。我可以把它作为一棵树,第一层为年,第二层为月,第三层为白天。 mongoDB可以自动解析这些信息吗?

1 个答案:

答案 0 :(得分:8)

  

如何使用depth = 1创建树,或者它是这样的 - http://bit.ly/ygwlEp

你的照片显示的是“二叉树”,而不是“b树”,这些是不同的。

“B-tree”通过创建给定大小的桶(相信MongoDB使用4k )并在这些桶中订购项目来工作。

  

如果是这样,那么树的深度和最大儿童数是多少

请查看B-trees上的维基百科条目,它应该为您提供明确的答案。

  

对于复合键(比如说2个索引变量),会有两棵树。

只有一棵树。但是,存储在树中的密钥基本上是两个项目“共处”的BSON表示。

  

假设我将时间戳作为索引键。我可以把它作为一棵树,第一层为年,第二层为月,第三层为白天。 mongoDB可以自动解析这些信息吗?

不,您无法控制索引结构。

没有MongoDB不支持对索引中的日期进行任何特殊解析。

如果对时间戳进行比较操作,则需要发送另一个时间戳。