Cómo optimizar un verificador sqlonoublon
-
22-07-2019 - |
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());
}
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