插入之前的复杂验证

时间:2016-04-14 18:47:46

标签: plsql oracle11g

我正在寻找一些反馈。我需要从接口表中提取大量数据,验证这些数据,然后将其合并到核心表中。验证相当复杂且相当复杂,需要根据许多不同的表格和许多场景来检查数据。

出于商业原因,此接口表始终由外部进程写入。当前进程会对部分数据传递验证传递,标记在接口表本身中未通过验证的任何记录。我们发现,由于争用,这个过程非常糟糕......到资源等待超时很常见的程度。因此,我们需要重新考虑在接口表上就地更新记录的方法。

我正在考虑两种不同的方法(我愿意接受替代方案)。吞吐量性能是最重要的考虑因素,因为我们需要这个过程能够跟上数据的进度。更快的方法是什么?

a)将数据集拉入光标。遍历每一行,分别验证每条记录。如果记录通过验证,请将合并执行到核心表中。

b)将数据集拉入临时表。使用SQL UPDATE语句对临时表中的数据进行多次传递,以标记未通过验证的记录。合并临时表中没有标记到核心表中的数据。

或者还有其他我没有考虑过的事情吗?

0 个答案:

没有答案