Performance 字段类型在MongoDB索引中重要吗?

Performance 字段类型在MongoDB索引中重要吗?,performance,mongodb,types,indexing,field,Performance,Mongodb,Types,Indexing,Field,以下是MongoDB中文档结构的两个示例 { UserId: "123", UserName: "Usain Bolt" } { UserId: NumberLong(123), UserName: "Usain Bolt" } 如果我要在UserID上创建索引,上述两个示例之间的查找查询性能是否会有差异?我没有关于这一问题的具体准确答案,但我的理解是: 索引字段可以是任何类型,包括(嵌入的)文档 索引很可能是散列的,无论类型如何,都可以以相同的方式进行

以下是MongoDB中文档结构的两个示例

{  
 UserId: "123",  
 UserName: "Usain Bolt"  
}



{  
 UserId: NumberLong(123),  
 UserName: "Usain Bolt"  
}

如果我要在
UserID
上创建索引,上述两个示例之间的查找查询性能是否会有差异?

我没有关于这一问题的具体准确答案,但我的理解是:

索引字段可以是任何类型,包括(嵌入的)文档

索引很可能是散列的,无论类型如何,都可以以相同的方式进行索引。如果对不同的类型有具体的注意事项,标准mongodb文档将做出区分


a的答案是来自mongodb的代码样本,这表明索引比较在类型上几乎相同,但是,性能可能与索引的大小有关。

在索引方面,字符串与数字之间的关系需要注意的一点是,通常可以很好地理解排序中数字的顺序。但是,当您使用字符串时,将使用字符串,因此您需要了解其中的差异

另外,为了跟进jdi提到的大小角度,字符串可以任意长,尽管这可以控制,当然,a long将始终存储为BSON double类型