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;