【发布时间】:2015-12-29 17:42:36
【问题描述】:
我正在尝试将非常大的 SQL 转储(大约 3700 万行)导入 InnoDB 表。有大量重复项,我想要实现的是,在不改变实际转储的情况下想要防止重复行插入。 email 字段可能有重复项。我尝试了以下操作:将整个转储导入数据库后,我尝试执行以下 SQL:
set session old_alter_table=1;
ALTER IGNORE TABLE sample ADD UNIQUE (email);
但是第二个查询工作了大约 1 小时,然后我取消了这个查询。
消除重复的正确方法是什么?
我有几个想法:
- 也许在开始导入之前创建具有唯一索引的表并在插入时防止重复而不损害整个过程?
- 也许在导入转储以选择不同的电子邮件并插入另一个表之后?
【问题讨论】:
标签: mysql sql duplicates distinct