Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB查询优化_Mongodb - Fatal编程技术网

MongoDB查询优化

MongoDB查询优化,mongodb,Mongodb,作为我当前的任务,我必须优化索引,以便我们的一些查询运行得更快。我读了这篇文章: 正如这家伙所说,我的最佳查询是: nscanned= nscannedObject = n 嗯,我能做到这一点。然而,问题是满足此公式的查询比不满足此公式的查询慢! 以下是我的解释输出: { "cursor" : "BtreeCursor previous_sticky_1", "nscanned" : 65019, "nscannedObjects" : 65019, "n

作为我当前的任务,我必须优化索引,以便我们的一些查询运行得更快。我读了这篇文章:
正如这家伙所说,我的最佳查询是:

 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但“millis=3355<5456”


你们能说说为什么吗?使用哪种索引?subnetInfo.giAddr\u 1或以前的\u sticky\u 1?

您应该尝试使用这两个提示执行几次查询,并计算所需的平均时间。您的结果可能与以下事实有关:在第一次执行期间,索引文件必须分页到驻留内存中。为了消除这种影响


您的索引度量是相似的,所以我不希望使用其中一个或另一个有什么大的区别。可能更相关的是,您没有提到索引中使用的字段

你能给我们看一下查询和一个示例文档吗?我不确定,但我认为它是有信心的信息,对不起。我们只需要看一下文档结构。以前没有人能帮助你看不到你的文档和查询。可能有人有一些假设?收益率是当数据不在RAM中时,这并不意味着有写操作