暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 在一张巨大的表上触发

ASKTOM 2019-06-28
232

问题描述

嗨,汤姆,
我们有一个事务表,存储了数百万条记录。我们计划在此表上创建一个插入后触发器,该触发器将为每个事务插入另一个表。
新表将持有一个标记值,其中提到交易是否在检查程序的范围内。我们没有在现有表中添加新列的原因是因为它是供应商表,并且它被复制到我们的系统中,所以我们保持它的状态不变。
由于表非常大,会有性能问题吗?


专家解答

表中有多少行并不重要。重要的是您在每个插入中添加了多少行。

使用复合触发器会有所帮助。这些允许您构建行数组以在行之前/之后的行块中进行处理。

然后使用forall将它们全部插入到单个后语句调用中。

有关这些的更多讨论,请参见:

https://asktom.oracle.com/pls/apex/asktom.search?tag=compound-triggers
https://oracle-base.com/articles/11g/trigger-enhancements-11gr1#compound_triggers
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论