【发布时间】:2023-03-12 11:09:02
【问题描述】:
我有一些大表(数百万行)。我不断收到包含要添加到这些表中的新行的文件——每天最多 5000 万行。我收到的大约 0.1% 的行是我已经加载的行的重复项(或者是文件中的重复项)。我想阻止将这些行加载到表中。
我目前使用 SQLLoader 以便有足够的性能来应对我的大数据量。如果我采取明显的步骤并在列上添加一个唯一索引来控制一行是否重复,SQLLoader 将开始使包含重复行的整个文件失败 - 而我只想防止正在加载重复行本身。
我知道在 SQL Server 和 Sybase 中,我可以使用“Ignore Duplicates”属性创建一个唯一索引,如果我随后使用 BCP,则根本不会加载重复行(由该索引定义)。
有没有办法在Oracle中达到同样的效果?
我不想在加载重复行后删除它们 - 对我来说重要的是,它们一开始就不应该被加载。
【问题讨论】:
-
您如何加载文件 - SQL*Loader/Data Pump?
-
当前使用 SQL*Loader。由于数据量很大,性能对我来说很重要。
标签: oracle duplicates