phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

Entfernen doppelter E-Mail-Adressen basierend auf der niedrigsten ID in mysql

Ihre Anfrage scheint richtig zu sein. Ihr Problem scheint ein Leistungsproblem zu sein, kein Logikproblem. Sie müssen sicherstellen, dass sowohl Ihre emailaddress und id Felder sind in der Datenbank richtig indiziert - andernfalls würde ich bei fast einer Million Zeilen erwarten, dass Ihre Abfrage hängen bleibt.

(Ich würde vermuten, dass id ist wahrscheinlich schon indexiert, aber nicht emailaddress . Insbesondere wenn eines dieser Felder nicht indiziert ist, wenn eines dieser Felder nicht indiziert ist, werden Sie sich eine Menge vollständiger Tabellenscans ansehen.)

Bearbeiten:

Wenn Sie Ihren Kommentar sehen, dass dies der Fall ist, können Sie der Dokumentation unter http://dev.mysql.com/doc/refman/5.0/en/create-index.html zum Erstellen von Indizes. Also sowas wie:

CREATE INDEX email_index ON emaildata(emailaddress) USING BTREE;