gpt4 book ai didi

java - initializeUnorderedBulkOperation 和 initializeOrderedBulkOperation 的确切区别和优点/缺点是什么?

转载 作者:行者123 更新时间:2023-11-29 05:03:45 25 4
gpt4 key购买 nike

我正在开发 java 中的功能,我必须使用 mongoDb 执行 BulkWriteOperation。在这里,我遇到了两种类型的 BulkWriteOperation:

  • initializeUnorderedBulkOperation()
  • 初始化OrderedBulkOperation()

我已经提交了this对于以上两者。性能方面的确切区别是什么,应该首选哪个?

我还想在异常情况下记录重复记录,以便日志文件包含重复项,以便稍后对其进行分析。

最佳答案

部分“确切”区别在于方法的命名,一个是“Orderred”,另一个是“Un-Orderred”。但不仅如此。

  • Orderred:当然会按照创建时的相同顺序执行批处理中的语句。如果任何语句失败,则批处理执行将在该点停止(不是回滚)并在 WriteResult 中返回错误。

  • Un-Ordered:不保留批处理中的创建顺序以执行,可以按任何顺序并行处理。如果发生任何错误,而不是在 WriteResponse 中返回异常结果,错误只是作为 Write 响应中的列表报告

所以 "Orderred"将有序并在任何错误时失败,而 "UnOrderred"将提交所有批处理操作,但仅在响应中报告错误。

由于不依赖顺序执行,UnOrderred 可能返回得更快。但是,如果您需要按特定顺序执行批处理操作,则 Orderred 是正确的方法。

关于java - initializeUnorderedBulkOperation 和 initializeOrderedBulkOperation 的确切区别和优点/缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31131775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com