Pregunta

Me gustaría optimizar mi corrector Doublon si alguien sabe cómo podría ser más rápido.

$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());
        }
¿Fue útil?

Solución

Normalmente lo hago de la siguiente manera:

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

Otros consejos

Esa consulta usaría un índice en (EMAIL) o en (EMAIL, EMAIL_ID) . Sin embargo, no debería tener que ejecutar esa consulta más de una vez, por lo que su rendimiento no debería preocuparle demasiado. Una vez que haya eliminado sus " Doublons " simplemente reemplace el índice en (EMAIL) con una CLAVE ÚNICA en (EMAIL) y nunca más tendrá correos electrónicos duplicados nunca más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top