Hallo Hamstar!
Aber dennoch, noch einmal die Frage: Macht ein Index auf ein Datenfeld Sinn, wenn dieses ein Fremdschlüssel ist und auf einen Primärschlüssel (einer zweiten Tabelle) verweist, und wenn über dieses ganz primär nur GeJOINt (nicht geWHEREt ;) wird? Ist mir irgendwie völlig unklar, wie das den SELECT (inl. JOIN) optimieren soll.
Bei 'nem einfachen JOIN ( "ueber alles" ) bringt's wahrscheinlich nichts, aber bei
SELECT u.foo, k.bar
FROM usr u
JOIN kunde k ON u.id = k.usr_id_kdzg
-- Jetzt kommt's :-)
WHERE u.foo = 'schnurrdiburr';
Wenn auf u.foo ein Index liegt zeigt mir EXPLAIN dass zumindest MySQL von k uber den Index laeuft und erst dann nach k joined.
Ohne den Index macht "er" es anscheinend umgekehrt, was mir suboptimal erscheint - indem WHERE ist ja gar kein Feld von k enthalten.
Gruss
Holger
P.S.: Schreibst Du das FROM mit in die erste Zeile ?