加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-31 12:36:41 所属栏目:百科 来源:网络整理
导读:假设我有一组ID.对于每个ID,我将根据ID在许多不同的表中插入许多记录.在插入差异表之间,将调用不同的业务检查.如果任何检查失败,则基于此ID插入的所有记录都将是ROLLBACK.此批量插入操作是通过使用PL / SQL完成的. COMMIT和ROLLBACK的时间是否影响性能以及

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

解决方法

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

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

Tom Kyte的建议是提交每个逻辑工作单元 – 交易.

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读