Din fråga verkar vara korrekt. Ditt problem verkar vara ett prestandaproblem, inte ett logiskt problem. Du måste se till att både din emailaddress
och id
fälten är korrekt indexerade i databasen - annars med nära en miljon rader skulle jag förvänta mig att din fråga hänger sig.
(Jag skulle gissa att id
är förmodligen redan indexerad, men inte emailaddress
. Särskilt med att göra en koppling mellan tabeller, om något av dessa fält inte är indexerat, kommer du att titta på MÅNGA fullständiga tabellskanningar.)
Redigera:
När du ser din kommentar om att så är fallet kan du följa dokumentationen på http://dev.mysql.com/doc/refman/5.0/en/create-index.html för att skapa index. Så något i stil med:
CREATE INDEX email_index ON emaildata(emailaddress) USING BTREE;