私の現在のタスクとして、インデックスを最適化して、一部のクエリがより高速に実行されるようにする必要があります。私はこの記事を読みました: http://emptysqua.re/blog/optimizing-mongodb-compound-indexes/
この人が示唆しているように、私の最適なクエリは次の場合です:
nscanned= nscannedObject = n
まあ、私はそれを達成することができました。ただし、この式を満たすクエリは、満たさないクエリよりも遅いという問題があります。これが私の説明出力です:
{
"cursor" : "BtreeCursor previous_sticky_1",
"nscanned" : 65019,
"nscannedObjects" : 65019,
"n" : 65019,
"millis" : 5456,
"nYields" : 76,
"nChunkSkips" : 0,
"isMultiKey" : false,
"indexOnly" : false,
}//everything is ok ( nscanned= nscannedObject = n )
{
"cursor" : "BtreeCursor subnetInfo.giAddr_1",
"nscanned" : 65023,
"nscannedObjects" : 65023,
"n" : 65019,
"scanAndOrder" : true,
"millis" : 3355,
"nYields" : 37,
"nChunkSkips" : 0,
"isMultiKey" : false,
"indexOnly" : false
} // nscanned = nscannedObject > n しかし、「ミリス = 3355 < 5456」 ???
それはなぜですか?そして、どのインデックスを使用するのですか? subnetInfo.giAddr_1 または previous_sticky_1 ?