2

mongo でのインデックス作成によってクエリのパフォーマンスがどのように向上するかを知る必要があります。現在、私のデータベースはインデックス化されていません。どうすれば既存の DB にインデックスを付けることができますか? また、インデックス作成のためだけに新しいフィールドを作成する必要がありますか?

4

1 に答える 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 に答える