gpt4 book ai didi

oracle - COMMIT 和 ROLLBACK 的时间会影响性能吗?

转载 作者:行者123 更新时间:2023-12-01 07:22:07 24 4
gpt4 key购买 nike

假设我有一组 ID 。对于每个 ID,我会根据 ID 将许多记录插入到许多不同的表中。在插入不同的表之间,将调用不同的业务检查。如果任何检查失败,所有基于此 ID 插入的记录都将被 ROLLBACK。此批量插入操作是通过使用 PL/SQL 完成的。 COMMIT 和 ROLLBACK 的时间是否会影响性能,它是如何影响的?例如,我应该在完成一个 ID 的过程后提交还是在完成所有 ID 后提交?

最佳答案

您的问题描述表明您有大量较小的逻辑事务(每个新 ID 都是一个事务)。您应该提交每个逻辑事务。等待提交整个事务集的两个原因是:

  • 如果整个事务集实际上是一个事务本身 - 所有插入必须成功才能提交任何行。在这种情况下,您较小的“交易”并不是真正的交易。
  • 您在批量加载过程中没有重新启动功能,这实际上使它成为第 1 项的特例。如果批量加载过程中止,您需要一种方法来跳过成功应用的 ID。

  • Tom Kyte 的建议是提交每个逻辑工作单元——事务。

    关于oracle - COMMIT 和 ROLLBACK 的时间会影响性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3634983/

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