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

MongoDB、インデックス付きフィールドでの正規表現によるクエリのパフォーマンス

    実際にはドキュメントによると、

    フィールドにインデックスが存在する場合、MongoDBは正規表現をインデックスの値と照合します。これは、コレクションスキャンよりも高速です。正規表現が「プレフィックス式」である場合、さらに最適化が行われる可能性があります。これは、すべての潜在的な一致が同じ文字列で始まることを意味します。これにより、MongoDBはそのプレフィックスから「範囲」を構築し、その範囲内にあるインデックスの値とのみ一致することができます。

    http://docs.mongodb.org/manual/reference/operator/query/regex/#index-use

    言い換えれば:

    /Jon Skeet/の場合 regex、mongoは、インデックス内のキーを完全にスキャンしてから、一致したドキュメントをフェッチします。これは、コレクションスキャンよりも高速です。

    /^Jon Skeet/の場合 regex、mongoは、インデックス内のregexで始まる範囲のみをスキャンします。これにより、高速になります。



    1. MongoDBの集計フレームワークで移動平均?

    2. FindByIndexNameSessionRepositoryのBeanを作成する方法

    3. SpringRedis-application.propertiesファイルから構成を読み取ります

    4. ノードからのMongoDB切断/再接続の処理