3

MongoDB in action book のインデックスに関する章を読んだことがありますが、インデックスに関する内容を詳しく説明できる人がいるかどうか疑問に思っていました。

カバーするインデックスがあり、インデックスa,b,c,d,eに対するクエリa,b,cが使用されている場合。をクエリするとどうなりますa,c,eか? インデックスはクエリに使用されるだけaですか、それとも他のフィールドでクエリを実行するときに使用されますか?

この場合、 にもインデックスを付ける方が理にかなっていますかa,c,e。ユーザーが自由形式のクエリを作成できるこれらのフィールドにリンクするフロント エンド ピースがあるためです ( a,b,c,f1 つの可能性があります)。考えられる可能性のあるすべてのオプションのインデックスが必要ですか?

4

1 に答える 1

5

MongoDB の複合インデックスは、プレフィックス メソッドを介して機能します。

したがって、 と のインデックスについては、プレフィックス ( http://docs.mongodb.org/manual/core/indexes/#id5a,b,c,d,e a )とa,b見なされます。そのため、両方に対してクエリを実行し、インデックスの使用法を生成する必要があります。インデックスをパフォーマンス的に使用するかどうかは、まったく別の問題です。a,b,ca,c,ea,c,e

ユーザーが自由形式のクエリ (a、b、c、f のいずれか) を作成できるこれらのフィールドにリンクするフロント エンド ピースがあるためです。考えられる可能性のあるすべてのオプションのインデックスが必要ですか?

うーん、a常に最初のフィールドが定義されている場合は、おそらくそうではありません (explainもちろん、データセットではここの方が良いでしょう)。それ以外の場合は、いくつかの組み合わせが必要になる場合があります。はい。

于 2013-03-02T18:31:48.437 に答える