phpMyAdmin
 sql >> Base de données >  >> Database Tools >> phpMyAdmin

Suppression de l'adresse e-mail en double basée sur l'identifiant le plus bas dans mysql

Votre requête semble correcte. Votre problème semble être un problème de performances, pas un problème de logique. Vous devrez vous assurer que votre emailaddress et id les champs sont correctement indexés dans la base de données - sinon, avec près d'un million de lignes, je m'attendrais à ce que votre requête se bloque.

(Je suppose que id est probablement déjà indexé, mais pas emailaddress . Surtout en faisant une jointure entre des tables, si l'un de ces champs n'est pas indexé, vous allez voir BEAUCOUP d'analyses complètes de table.)

Modifier :

Voyant votre commentaire que c'est le cas, vous pouvez suivre la documentation sur http://dev.mysql.com/doc/refman/5.0/en/create-index.html pour la création d'indices. Donc quelque chose comme :

CREATE INDEX email_index ON emaildata(emailaddress) USING BTREE;