yo,
MySQL ist wohl nicht gerade der Porsche unter den Datenbanken?
das hat nichts mit mysql zu tun. wenn bei einem join kein index benutzt wird, dann wird jedes dbms stöhnen. da kommen sehr leicht viele vergleiche vor.
20.000 x 20.000 datensätze in beiden tabellen gleich 400.000.000 vergleiche.....
tuning ist eines der kompliziertesten aktionen bei datenbanken, alleine schon die ausswahl, welche der beiden tabellen die treibende ist, kann riesen-unterschiede bewirken.
das beste ist, du schaust dir mal in ruhe den ausführungsplan aus, um zu sehen, welche der vorhandenen indezies benutzt werden.
Ilja