2011-10-22 4 views

答えて

3

インデックス作成の最初の単語は、常にofficial Mongo index documentationです。

この質問に直接お答えするには、「名前」以上のインデックスでクエリを使用する場合は、3つのフィールドすべてに対してインデックスが必要です。

db.people.ensureIndex({name:1, city:1}); 
db.people.ensureIndex({name:1, about:1}); 

任意のオプションを上のセトリングする前に、しかし、私はモンゴのexplain methodは、各インデックスが何であるかを獲得するかを決定するために利用したい:これは、3つの別々のインデックスを介して行うことができますが、複合インデックスのペアがより良い結果を与えるかもしれませんインデックスのないクエリ(期待される制作物と同じ大きさのデータセットをテストする)を提供します。 "indexOnly"と "isMultiKey"を使用して、目的のインデックスが使用されていることを確認するだけでなく、 "nscanned"と "nscannedObjects"プロパティに特に注意を払います。

最後に、過剰索引はパフォーマンスの問題を引き起こす可能性があります。そうしないと索引を確保する必要はありません。これらの索引の書き込み速度の損失以上に、索引の読取り速度の向上が必要であることを確認してください。

関連する問題