数据大小为90亿条记录。 Oracle DB 12c
我正在从各个表中检索信息,并使用批量收集和forall语句-将插入到我的最终表中。
仅当该行不存在时才需要插入。如果该行已经存在于我的最终表中,则需要更新记录的时间戳。
批量收集记录具有:(示例用途。仅显示5列) 名,姓,地址,电话,技能集.....
我的最终表具有:(示例用途。仅显示5列) final_id,名字,姓氏,地址,电话,技能集.....
如何执行此操作? 据我所知,我不能使用MERGE,因为我的批量收集记录没有与最终表主键匹配的主键。由于我的数据量太大,因此我需要一个不会影响该操作性能的解决方案。
我已经阅读了有关生成哈希键的standard_hash(column1 || column2,'MD5')的信息,我可以对批量收集记录和最终表的列值进行比较。
我需要您的建议,这是执行此操作的最佳方法?我唯一要担心的是,因为它包含大量数据,因此不应该影响性能,并且我们每天必须通过一项工作来运行此过程。