使用重复数据删除SQL插入数百万条记录

时间:2012-12-12 11:10:07

标签: mysql sql deduplication

这是一个理论场景,对于大型SQL数据库而言,我不仅仅是业余爱好者......

我如何将大约200万条记录插入600万条记录(table1到table2)的现有数据库中,同时使用电子邮件重复数据删除(某些订阅者可能已存在于site2中,但我们不希望插入已存在的那些??

我理解如何简单地从站点1获取记录并将它们添加到站点2中,但是我们如何在如此大规模的情况下执行此操作,而不是导致数据重复?任何阅读资源对我都有帮助,因为我发现这是一场斗争。

即: 表1:site1Subscribers

site1Subscribers(subID,subName,subEmail,subDob,subRegDate,subEmailListNum,subThirdParties)

表2:site2Subscribers

site2Subscribers(subID,subName,subEmail,subDob,subRegDate,subEmailListNum,subThirdParties)

1 个答案:

答案 0 :(得分:3)

我会尝试这样的事情:

insert into site2Subscribers
select * from site1Subscribers s1
left outer join site2Subscribers s2
    on s1.subEmail = s2.subEmail
where s2.subEmail is null;

left outer join以及空检查将仅返回site1Subscriberssite2Subscribers中没有匹配条目的那些行。