我正在尝试了解如何创建B树。
假设我使用数字作为索引变量。如何使用depth = 1创建树,或者它是这样的 - http://bit.ly/ygwlEp 如果是这样,树的深度和最大儿童数量是多少。 对于复合键(比如说2个索引变量),会有两棵树。或者它是一棵树,第一级为第一级,第二级为第二级? 假设我将时间戳作为索引键。我可以把它作为一棵树,第一层为年,第二层为月,第三层为白天。 mongoDB可以自动解析这些信息吗?
答案 0 :(得分:8)
如何使用depth = 1创建树,或者它是这样的 - http://bit.ly/ygwlEp
你的照片显示的是“二叉树”,而不是“b树”,这些是不同的。
“B-tree”通过创建给定大小的桶(相信MongoDB使用4k )并在这些桶中订购项目来工作。
如果是这样,那么树的深度和最大儿童数是多少
请查看B-trees上的维基百科条目,它应该为您提供明确的答案。
对于复合键(比如说2个索引变量),会有两棵树。
只有一棵树。但是,存储在树中的密钥基本上是两个项目“共处”的BSON表示。
假设我将时间戳作为索引键。我可以把它作为一棵树,第一层为年,第二层为月,第三层为白天。 mongoDB可以自动解析这些信息吗?
不,您无法控制索引结构。
没有MongoDB不支持对索引中的日期进行任何特殊解析。
如果对时间戳进行比较操作,则需要发送另一个时间戳。