MongoDB - 操作统计 - numYields.



我的集合上运行了一个更新操作,它涉及更新数百万行数据。我想监视此操作的进度,并已转到当前操作视图。

numYields 值似乎随着数据库应该做的事情而增加,所以我想知道它是否在每次修改文档时都会增加(update:Multi(。

根据文档:

长时间运行的读取和写入操作,例如查询、更新和 删除,在许多条件下产生。MongoDB操作也可以 写入中单个文档修改之间的收益锁定 影响多个文档的操作,例如使用多个文档的 update(( 参数。

但是,上述段落没有具体说明文档的每次更新是否都会产生,或者是否偶尔在几次更新中发生一次。

有人可以分享一下这个指标是否可靠,以确定作为这个长期运行的操作的一部分更新了多少文档?

有人可以分享一下这个指标是否可靠,以确定作为这个长期运行的操作的一部分更新了多少文档?

否:numYields仅指示长时间运行的操作已产生。与并发更新没有直接关联,并且定期生成有几个原因,如读取或写入操作是否生成锁中所述?:

  • 避免长期存储事务,因为这些事务可能需要在内存中保存大量数据;
  • 用作中断点,以便可以终止长时间运行的操作;
  • 以允许需要独占访问集合的操作,例如索引/集合删除和创建。

但是,上述段落没有具体说明文档的每次更新是否都会产生,或者是否偶尔在几次更新中发生一次。

收益是周期性的,通常由经过时间或操作/迭代次数等指标控制。

最新更新