mongo でのインデックス作成によってクエリのパフォーマンスがどのように向上するかを知る必要があります。現在、私のデータベースはインデックス化されていません。どうすれば既存の DB にインデックスを付けることができますか? また、インデックス作成のためだけに新しいフィールドを作成する必要がありますか?
1 に答える
2
基本的に、MongoDB のインデックスは他のデータベース システムのインデックスと似ています。MongoDB は、MongoDB コレクション内のドキュメントに含まれる任意のフィールドまたはサブフィールドのインデックスをサポートしています。
インデックスについては、こちらで詳しく説明しています。このドキュメントを読むことを強くお勧めします。
索引付け操作、戦略、および作成オプションに関するセクションと、複合索引(つまり、複数フィールドの索引)などのさまざまな索引に関する詳細な説明があります。
注意すべきことの 1 つは、既定では、インデックスの作成はブロック操作であるということです。インデックスの作成は次のように簡単です。
db.collection.ensureIndex( { zip: 1})
次のようなものが返され、インデックスが正しく挿入されたことを示します。
Inserted 1 record(s) in 7ms
大規模なデータ コレクションにインデックスを作成すると、操作が完了するまでに時間がかかる場合があります。この問題を解決するには、バックグラウンド オプションを使用して、インデックスの作成中に mongod インスタンスを引き続き使用できるようにします。
MongoDB でのインデックス作成の制限については、こちらで説明しています。
于 2012-10-17T13:31:30.680 に答える