Mongodb の Explain クエリ出力で、「nscanned」と「nscannedObjects」の正確な違いを取得できません。
私が読むことができるMongoDB Explainのドキュメントで:
nscanned検査された項目 (文書または索引項目) の数。項目は、オブジェクトまたはインデックス キーの場合があります。「カバーされたインデックス」が関係している場合、nscanned は nscannedObjects よりも高くなる可能性があります。
nscannedObjectsスキャンされたドキュメントの数。
この 2 つのフィールドの違いは何ですか? さらに具体的には、BtreeCursor (インデックス) を使用するクエリがあり、これら 2 つのフィールドに 2 つの異なる値がある場合の正確な意味は次のとおりです。
{
"cursor" : "BtreeCursor a_1_b_1",
"isMultiKey" : false,
"n" : 5,
"nscannedObjects" : 5,
"nscanned" : 9,
(...)
}
「対象インデックス」とは何かを知っています。上記の例でクエリが何をしたかを正確に理解したいと思います。結果セットを生成するために、9 つの要素 (nscanned = 9) を通過 (「スキャン」) しましたか?これらはすべてインデックス エントリであり、そのうちの 5 つのみ (nscannedObjects = 5) の値を読み取り (「検査」) しましたか?