Ilja: Doubletten-Check Abfrage optimieren

Beitrag lesen

yo,

Statt einem JOIN bietet es sich vielleicht eher an, nach der E-Mailadresse zu gruppieren, und dann nur die Datensätze liefern zu lassen, bei denen COUNT() einen Wert > 1 liefert.

grundsätzlich der richtige ansatz, nur wird er dabei probleme bekommen, wenn er beide spalten angezeigt haben will und nicht nur die entsprechende e-mail, weil er mit mysql 4.0 keine unterabfragen machen kann. insofern kann der self-join schon der richtige weg sein, ein index auf der emailadresse sollte das problem beheben. des weiteren kann man sich eventuell das DISTINCT sparen, es solten keine doppelten einträge in der ergebnismenge vorkommen, falls es sich bei a.newsletter_id um einen primär und nicht einen fremdschlüssel handelt.

Ilja