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

ルックアップ集計のパフォーマンスが低い

    https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/

    から

    externalFieldfromcollection内のドキュメントのフィールドを指定します。 $lookupはforeignFieldで等式一致を実行します 入力ドキュメントからlocalFieldに。 fromcollectionのドキュメントにforeignFieldが含まれていない場合、$lookupはマッチングの目的で値をnullとして扱います。

    これは、他のクエリと同じように実行されます。

    フィールド_AccountIdにインデックスがない場合は、10,000件の投稿ごとに完全なテーブルスキャンクエリが実行されます。時間の大部分はそのテーブルスキャンに費やされます。

    db.users.ensureIndex("_AccountId", 1) 
    

    プロセスを高速化して、10,000回のテーブルスキャンではなく10,000回のインデックスヒットを実行します。



    1. NoSQLデータベースが集計関数(AVG、SUMなど)でどのように機能するか

    2. ボタンクリックでメテオページを更新

    3. 一意のアトミックIDジェネレーターとしてのRedis-競合状態を回避するためのWebアプリのスレッドセーフな方法

    4. MongoDB $ replaceOne