0

以下と同じ結果の2つのクエリがあります。

Query 1: {
    $or: [
        {
            field_1: "A",
        },
        {
            field_2: "B",
        },
    ],
    field_3: "C",
},

Query 2: {
    $or: [
        {
            field_1: "A",
            field_3: "C",
        },
        {
            field_2: "B",
            field_3: "C",
        },
    ],
}

と の 2 つの複合インデックスがfield_3_field_1ありfield_3_field_2ます。

両方のクエリのクエリ実行を説明すると、次のことがわかります。

  • クエリ 1 は、1 に等しいシークで高速に実行され (3 倍)、はるかに高いtotalKeysExaminedand totalDocsExamined(これら 2 つは同じ) で、上記のインデックスの 1 つを使用しました。
  • クエリ 2 は、はるかに高いシーク (32) で実行が遅くなり、はるかに低いtotalKeysExaminedtotalDocsExaminedで、両方のインデックスが使用されました。

誰でもこの動作を説明できますか?これを照会するための推奨される方法は何ですか? ありがとう。

4

0 に答える 0