Váš dotaz se zdá být správný. Zdá se, že váš problém je problém s výkonem, nikoli logický problém. Musíte se ujistit, že obě vaše emailaddress
a id
pole jsou v databázi správně indexována – v opačném případě bych očekával, že se váš dotaz při téměř milionu řádků zasekne.
(Hádal bych, že id
je pravděpodobně již indexováno, ale ne emailaddress
. Zejména při provádění spojení mezi tabulkami, pokud jedno z těchto polí není indexováno, budete se dívat na HODNĚ úplných skenů tabulek.)
Upravit:
Když vidíte svůj komentář, že tomu tak je, můžete postupovat podle dokumentace na http://dev.mysql.com/doc/refman/5.0/en/create-index.html pro vytváření indexů. Takže něco jako:
CREATE INDEX email_index ON emaildata(emailaddress) USING BTREE;