2

約1,000万件のレコードを持つコレクションがあります。そして、key1約 50,000 レコード用に定義されたフィールドがあります。key1ここで、実際に割り当てられるスペースの量にインデックスを付けたいとします。つまり、そのインデックスの場合、約 1,000 万単位または 50,000 単位になります。

また、キーに対応する値が異なるタイプの場合、mongo はどのようにインデックスを管理しますか。例えば。key2文字列を格納する 1,000 レコードがあり、配列を格納する他の 1,000 レコードがあるとします。でインデックスを作成する場合、インデックスはどのように作成されますかkey2

私の最初の質問は、私が解決したい本当の問題です。2 つ目は単なる好奇心のためです。

4

1 に答える 1

1

私は自分の質問に対する答えを見つけました。Mongodbはsparse indexes、インデックスに含めるために、そのキーが存在するレコードのみを考慮することをサポートしています。スパースインデックスは、そのキーが存在しないレコードにはインデックスを付けません。したがって、sparse = trueインデックスを作成するときに設定key1すると、割り当てられるスペースは約50,000ユニットのオーダーになります。

于 2012-11-23T06:26:53.760 に答える