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

MongoDBが私のインデックスを使用していません

    通常のmongodbインデックスは、フィールド値とタイプの両方を使用してツリーを構築します。

    $empty: trueのようなクエリ または$ne: null どのタイプのパラメータも持たず、そのようなインデックスの恩恵を受けることはできません。これは特殊なケースであり、特別なスパースインデックス が必要です。 。

    [email protected]_1 インデックスは次のように作成されます:

    db.getCollection('logs.res').createIndex(
        {
            "timeStamp" : -1,
            "[email protected]" : 1
        },
        { sparse: true }
    )
    

    クエリを最もよくサポートする必要があります。それ以外の場合、[email protected]_1 およびtimeStamp_1_module_1_etc 最初のフィールドのみが使用されているためです。



    1. Mongodb C#ドライバーは、配列内の一致するサブドキュメントのみを返します

    2. MongodbマングースのE11000重複キーエラーインデックス

    3. Golang / MGO-パニック:到達可能なサーバーがありません

    4. CloseイベントからRedis接続が切断されました