18

MongoDBのドキュメント構造の2つの例を次に示します。

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



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

にインデックスを作成する場合UserID、上記の2つの例で検索クエリのパフォーマンスに違いはありますか?

4

2 に答える 2

12

私はこの問題について具体的に正確な答えを持っていませんが、ここに私の理解があります:

インデックス

インデックス付きフィールドは、(埋め込み)ドキュメントを含む任意のタイプにすることができます

インデックスは、タイプに関係なく、同じ方法でインデックスを作成できるようにハッシュ化される可能性があります。さまざまなタイプについて注意すべき特定の考慮事項がある場合、標準のmongodbドキュメントでその区別が行われます。

ここでの同様の質問に対する答えは、mongodbのコードサンプルを参照しています。これは、インデックスの比較がタイプに関してほぼ同じであることを示唆していますが、おそらくインデックスのサイズに合わせたパフォーマンスです。

于 2012-08-19T05:27:04.040 に答える
3

インデックスに関して文字列と数値について注意することの1つは、ソート内の数値の順序が一般的によく理解されていることです。ただし、文字列を使用する場合は、代わりに辞書式順序が使用されるため、そこでの違いに注意する必要があります。

また、jdiで言及されているサイズの角度を追跡するために、文字列は任意の長さにすることができますが、もちろん制御できますが、BSONダブルタイプとして格納されるlongは常に8バイトになります。

于 2012-08-19T21:33:40.000 に答える