Der Query läuft auch und läuft und läuft und läuft. [...] Ist es "nur" ein Performanceproblem?
Vermutlich. Was sagt EXPLAIN? Vermutlich, dass keine Indexe - so vorhanden - für die WHERE-Klausel verwendet werden können.
EXPLAIN sagt:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE TabelleB ALL NULL NULL NULL NULL 549968 Using where
1 SIMPLE TabelleA ALL NULL NULL NULL NULL 637871 Using where
Muss ich diese Indexe selber erzeugen? Wenn ja, wie?
Das bekommt man üblicherweise über einen OUTER JOIN (LEFT JOIN, RIGHT JOIN). Bei einem solchen werden alle Datensätze der einen Tabelle verwendet, auch wenn es keine passende Gegenstücke gibt. In diesem Fall ist NULL statt der Werte der Spalten der zweiten Tabelle im Ergebnis. Darauf kann man testen.
Hättest du mir die Syntax für meine Tabelle, so dass ich das mal laufen lassen kann, ob da die Abfrage schneller durchläuft?
Danke.