0
mongodb是否区分由小的,静态大小的元素(可以说数字类型)和具有大型变体类型(如字符串)构成的索引?mongodb索引数据结构
从BSON规范中我可以看出BSON确实显示了整型的特殊处理能力。如果索引只包含int64的话,我会期望索引代码创建更多的高性能索引。
也许它有某种形式的歧视联盟?
mongodb是否区分由小的,静态大小的元素(可以说数字类型)和具有大型变体类型(如字符串)构成的索引?mongodb索引数据结构
从BSON规范中我可以看出BSON确实显示了整型的特殊处理能力。如果索引只包含int64的话,我会期望索引代码创建更多的高性能索引。
也许它有某种形式的歧视联盟?
B树内容基本上只是索引字段的BSON序列化表示和指向该对象的磁盘位置的指针。
这是一个link to the code它提到了这一点。实际上,它们是在循环索引时使用的woCompare
function。
在我看来像一个简单的二进制比较,所以较小的数据将比较大的数据比较快。
你是什么意思歧视?您可以告诉MongoDB在您的查询中使用特定的索引,以便为您的查询使用最佳索引;您可以测试索引以查看哪个索引对于特定查询更快。由于数据的性质,我认为数字值的索引比字母数字索引更高效。 – SomethingOn
在数据库引擎可以决定它将用于索引数据类型的结构之前,它需要知道将要放入该数据类型的内容。由于mongodb不限制您使用某种启发式方法,或者使用歧视联合作为索引值的数据结构。如果启发式使用,我想知道期望什么。 –