sql >> データベース >  >> NoSQL >> MongoDB

インデックス付きフィールドを持つMongoDB正規表現

    ここでのパフォーマンスの違いの理由は、インデックスが有効になっている場合、クエリがインデックスをトラバースし(メモリにロード)、一致するドキュメントをロードしてメモリに返す必要があるためです。プレフィックスクエリを使用していないため、インデックス内のすべての値がスキャンされ、正規表現に対してテストされます。あまり効率的ではありません。

    インデックスを削除すると、テーブルスキャンを実行し、そこで正規表現を照合するだけです。基本的に、最初のインデックスから少し単純化したものです。

    カバーされたインデックスクエリ 、これが複合インデックスであり、別のフィールドの基準と組み合わせる必要がある場合も、より高速になる可能性があります。

    プレフィックスクエリを使用する場合、インデックスのみを使用するのではなく、インデックスを効率的に使用します。これが重要であるため、実際のパフォーマンスが向上します。




    1. Model.findはマングースの関数ではありません

    2. Mongodb:127.0.0.1:27017への接続に失敗しました。理由:errno:10061

    3. MongoDBを使用したElasticSearch:PDFの検索

    4. 配列内のサブドキュメントのMongodb集計