Lass es dir von der DB erklären: EXPLAIN. Das listet dir auf, welche Indices verwendet werden, und was sonst so passiert.
Wenn ich folgenden Befehl ausführe:
EXPLAIN SELECT *
FROM ort, name
WHERE ort.key = name.key
AND name.value = 'Mustermann';
dann führt das zu folgender Ausgabe:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE ort ALL fk_ort_keys NULL NULL NULL 2907694
1 SIMPLE name ref fk_name_keys fk_name_keys 38 testdb.ort.key 10 Using where
Allerdings werde ich daraus auch nicht schlau. Kann mir jemand das erklären?
Sollte ich vielleicht noch die Tabelle KEYS in die Abfrage mit einbinden?