0

如果有人知道如何更快,我想优化我的 Doublon 检查器。

$doublonchecker="delete bad_rows.* from eMail as good_rows inner join eMail as bad_rows on bad_rows.EMAIL = good_rows.EMAIL and bad_rows.EMAIL_ID > good_rows.EMAIL_ID";
$resultdoublon = mysql_query($doublonchecker);
        if (!$resultdoublon) {
        die('Error : ' . mysql_error());
        }
4

2 回答 2

2

该查询将使用 on(EMAIL)或 on的索引(EMAIL, EMAIL_ID)。但是,您不必多次运行该查询,因此它的性能不应该让您太担心。删除“Doublons”后,只需将索引替换为(EMAIL)on UNIQUE KEY(EMAIL)您将永远不会再收到重复的电子邮件。

于 2009-09-18T18:08:36.363 回答
2

我通常通过以下方式进行操作:

Delete from Email where ID not in 
(
Select Min(em.ID) minID
from eMail em  group by em.Email
)
于 2009-09-18T18:09:04.747 回答