我有一个大约126K条目的数据库,其中许多条目包含重复的电子邮件。我想删除所有具有重复条目的条目,而只保留最早创建的条目。
我尝试使用以下查询,但它会花费很多时间,并且会使我的服务器带宽最大化。
有人可以帮忙吗?
DELETE n1 FROM table n1, table n2 WHERE n1.ID > n2.ID AND n1.email = n2.email
数据库规范
答案 0 :(得分:-1)
也许您可以创建一个包含唯一电子邮件的临时表,然后删除数据库中不止一次的所有电子邮件。
CREATE TEMPORARY TABLE tab_temp
SELECT * FROM table GROUP BY email;
然后
DELETE FROM table
WHERE id NOT IN ( SELECT id FROM tab_temp );
您可以删除重复的内容