Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何优化sql doublon检查器_Sql_Mysql_Duplicate Removal - Fatal编程技术网

如何优化sql doublon检查器

如何优化sql doublon检查器,sql,mysql,duplicate-removal,Sql,Mysql,Duplicate Removal,我想优化我的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);

我想优化我的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());
        }

该查询将使用
(电子邮件)
(电子邮件,电子邮件ID)
上的索引。但是,您不必多次运行该查询,因此它的性能不会让您太担心。一旦您删除了“Doublons”,只需将
(电子邮件)
上的索引替换为
(电子邮件)
上的
唯一键,您就再也不会有重复的电子邮件了。

该查询将使用
(电子邮件)
(电子邮件,电子邮件ID)
上的索引。但是,您不必多次运行该查询,因此它的性能不会让您太担心。删除“Doublons”后,只需将
(电子邮件)
上的索引替换为
(电子邮件)
上的
唯一键,您就再也不会有重复的电子邮件了。

我通常采用以下方法:

Delete from Email where ID not in 
(
Select Min(em.ID) minID
from eMail em  group by em.Email
)

我通常是这样做的:

Delete from Email where ID not in 
(
Select Min(em.ID) minID
from eMail em  group by em.Email
)