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

(EMAIL)そのクエリは、またはのインデックスを使用します(EMAIL, EMAIL_ID)。ただし、そのクエリを複数回実行する必要はないため、そのパフォーマンスについてあまり心配する必要はありません。「ダブロン」を削除したら、インデックス on(EMAIL)UNIQUE KEYonに置き換えるだけで、(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 に答える