更新:2.0.xの問題のようです...
2.0.xと1.4.xでまったく同じクエリを実行しました。 Limit =1の場合、両方とも1msまで高速に実行されます。 Limit =2の場合、1.4.xバージョンは約1msのままですが、2.0.xバージョンは25msにジャンプします。したがって、これはExplain出力の問題だけではなく、問題の症状にすぎません。
2015年1月8日木曜日9:04:05AMUTC-8、Joshua Abramsは次のように書いています:興味深い... 1.4.xを使用したまったく同じクエリは、n =2(など)の場合に適切な説明を生成します。これはパフォーマンスに影響を与える可能性がありますか? Limit =1のクエリを実行すると(予想どおり)高速ですが、Limit=2の場合は100倍遅くなります...
2015年1月8日木曜日8:52:28AMUTC-8、christkvは次のように書いています。私の提案は、最小限の再現可能なテストケース(コードとデータ)を作成し、jira.mongodb.comでチケットを開くことです。何が起こっているのかを知るのはちょっと難しいです。それがドライバーになる可能性は低いですが、誰も知りません。少なくとも2.0.xブランチの問題であることを除外するために、1.4.xブランチも試してみてください。
2015年1月8日木曜日午後5時47分45秒UTC+1、ジョシュアエイブラムスは次のように書いています。他に何か考えはありますか?
2015年1月8日木曜日8:23:16AMUTC-8に、christkvは次のように書いています。explainは、部分的な結果ではなく、ドライバー内のすべての結果を再調整しているだけです。したがって、あなたは計画を取得します。頭に浮かぶことの1つは、batchSizeが1に設定されているときにエラーが発生した1.4.19より前のドライバーを使用していることです。
2015年1月8日木曜日午後5時01分42秒UTC+1で、JoshuaAbramsは次のように書いています。 //stackoverflow.com/questions/27831936/limit-1-1ms-limit-1-150ms-mongo-melt-down">制限=1=1ms、制限> 1 =150ms(mongo-melt-down)>
ルートの原因がわからない-適切な説明が得られない場合はデバッグできません: MongoDBネイティブノードドライバー:説明が壊れていますか?