mongodb keep_mutation阶段解释

web*_*uma 3 mongodb explain

我使用mongo的explain()来检查某些查询的性能,有时keep_mutation阶段会显示如下:

  "executionStats" : {
            ...
            "executionStages" : {
                    "stage" : "KEEP_MUTATIONS",
                    "nReturned" : 1,
                    "executionTimeMillisEstimate" : 5460,
                    "works" : 79622,
                    ...
            }
   }
Run Code Online (Sandbox Code Playgroud)

我想更多地了解这个阶段,所以我通过互联网搜索,令我惊讶的是,即使在官方文档中也找不到与之相关的有用信息,更不用说其他网站了.有人可以帮忙解释一下吗?

Rud*_*udi 6

KeepMutationsStage传递其所有子数据,直到孩子为EOF.然后它返回WorkingSet中传递阶段过滤器的所有标记元素.

此阶段用于在查询中将无效的结果合并到查询结果中(如果可能).查询计划程序负责确定何时合并这些结果是有效的.

资源

  • 感谢您在发布此问题2个月后回答我的问题!(我想没有人会回答这个问题).你还发布了相关mongodb类的github源链接.(我不知道我之前可以在github上找到源代码).最好能够更详细地解释一下(因为答案中有许多我不理解的术语,例如:孩子的数据,标记的元素等).提前致谢. (3认同)