単一フィールド インデックス
単一フィールド インデックスは、コレクション内の単一フィールドからの情報を保存します。 デフォルトでは、すべてのコレクションには _id フィールドのインデックスがあります。 重要なクエリや操作を高速化するために、追加のインデックスを追加できます。
ドキュメント内の任意のフィールドに単一フィールド インデックスを作成できます。これには次のものが含まれます。
最上位のドキュメント フィールド
埋め込みドキュメント
埋め込みドキュメント内のフィールド
インデックスを作成するときは、以下を指定します。
インデックスを作成するフィールド。
インデックス値の並べ替え順序(昇順または降順)。
並べ替え順序
1
は値を昇順に並べ替えます。並べ替え順序
-1
は値を降順で並べ替えます。
重要
降順の単一フィールドインデックスを使用すると、インデックスのパフォーマンスに影響が及ぶ可能性があります。 最高のパフォーマンスを得るには、昇順の単一フィールド インデックスのみを使用してください。
単一フィールド インデックスを作成するには、次のプロトタイプを使用します。
db.<collection>.createIndex( { <field>: 1 } )
この画像は、単一のフィールド score
の昇順インデックスを示しています。
この例では、score
フィールドの値を持つコレクション内の各ドキュメントが昇順でインデックスに追加されます。
MongoDB Atlas でホストされる配置用 UI に、単一のフィールド インデックスを作成および管理できます。
ユースケース
アプリケーションが同じフィールドに対して繰り返しクエリを実行する場合は、そのフィールドにインデックスを作成してパフォーマンスを向上させることができます。たとえば、人事部門では従業員 ID で従業員を検索する必要があることがよくあります。従業員 ID フィールドにインデックスを作成すると、クエリのパフォーマンスが向上します。
頻繁にクエリされるフィールドにインデックスを作成すると、それらのクエリを対象とする可能性が高くなります。対象のクエリとは、ドキュメントを検査することなく、インデックスを使用して完全に満たすことができるクエリです。これにより、クエリのパフォーマンスが最適化されます。
はじめる
単一のフィールドにインデックスを作成するには、次の例を参照してください。