我收集了大量原始数据(大约 3 亿行),其中包含大约 10% 的复制数据。我需要将数据存入数据库。为了性能,我尝试使用 SQL 副本。问题是当我提交数据时,主键异常会阻止任何数据被处理。我可以更改主键的行为,以便简单地忽略或替换冲突数据吗?我真的不在乎这两种方式 - 我只需要每个数据的一个唯一副本。
Russell
问问题
473 次
3 回答
2
我认为你最好的选择是放弃约束,加载数据,然后清理它并重新应用约束。
于 2008-10-19T18:39:03.323 回答
0
使用 select 语句准确地选择要插入的数据,而不会出现重复项。
将其用作 CREATE TABLE XYZ AS SELECT * FROM (query-just-non-dupes) 的基础
您可以查看有关如何选择非重复行的ASKTOM想法
于 2008-10-19T23:17:27.440 回答
0
这就是我正在考虑做的事情,但担心在 3 亿条目数据库中摆脱 3000 万随机放置的行的性能。重复数据也具有空间关系,这就是为什么我想在加载数据时尝试解决问题,而不是在我全部加载后解决问题。
于 2008-10-19T18:54:38.673 回答