Mongodb-indexing-limitations
提供:Dev Guides
MongoDB-インデックス作成の制限
この章では、インデックス作成の制限とその他のコンポーネントについて学習します。
余分なオーバーヘッド
すべてのインデックスはいくつかのスペースを占有し、挿入、更新、削除のたびにオーバーヘッドが発生します。 したがって、コレクションを読み取り操作にめったに使用しない場合は、インデックスを使用しないのが理にかなっています。
RAM使用量
インデックスはRAMに保存されるため、インデックスの合計サイズがRAMの制限を超えないようにする必要があります。 合計サイズがRAMサイズを増やすと、一部のインデックスの削除が開始され、パフォーマンスが低下します。
クエリの制限
インデックスを使用するクエリでは使用できません-
- 正規表現または$ nin、$ notなどの否定演算子。
- $ modなどの算術演算子
- $ where句
したがって、クエリのインデックスの使用状況を常に確認することをお勧めします。
インデックスキーの制限
バージョン2.6以降、既存のインデックスフィールドの値がインデックスキーの制限を超えた場合、MongoDBはインデックスを作成しません。
インデックスキーの制限を超えるドキュメントの挿入
MongoDBは、このドキュメントのインデックス付きフィールドの値がインデックスキーの制限を超える場合、インデックス付きコレクションにドキュメントを挿入しません。 mongorestoreおよびmongoimportユーティリティの場合も同様です。
最大範囲
- コレクションには64を超えるインデックスを含めることはできません。
- インデックス名の長さは125文字を超えることはできません。
- 複合インデックスには、最大31個のフィールドにインデックスを付けることができます。