Mongodbのexplainクエリ出力の "nscanned"と "nscannedObjects"の正確な違いはありません。私は読むことができMongoDB Explain documentationでMongodbのexplain(): "nscanned"と "nscannedObjects"の違い
:
は、アイテムの数(文書またはインデックスエントリ)が検討nscanned。アイテム は、オブジェクトまたはインデックスキーである可能性があります。 「カバーされたインデックス」が含まれている場合、 nscannedはnscannedObjectsよりも高い可能性があります。
nscannedObjectsスキャンしたドキュメントの数。
これら2つのフィールドの違いは何ですか?私はBtreeCursor(インデックス)を使用するクエリを、持っているとき そして、もっと具体的には、正確に何を意味しており、これら2つのフィールドが、たとえば、2つの異なる値を持っている:
{
"cursor" : "BtreeCursor a_1_b_1",
"isMultiKey" : false,
"n" : 5,
"nscannedObjects" : 5,
"nscanned" : 9,
(...)
}
私は "covered index"が何であるかを知っています。 9つの要素(nscanned = 9)を通過させたか(「スキャンした」)、すべてがインデックスエントリであり、値を読み取った(「調べた」)場合は、結果セットを生成するためにそれらのうちの5つだけ(nscannedObjects = 5)?