mySQL Probleme mit großem LEFT JOIN - PC hängt

Edemund

Erfahrenes Mitglied
Hallo,

ich habe im Internet leider nicht viel hilfreiches gefunden, daher wollte ich meine Frage hier noch einmal stellen.

Mein Problem mit einer Left JOIN select- Abfrage ist folgendes:
Ich habe eine Tabelle t und eine Tabelle m mit ca. 20.000 (= t) und 10.000 (m) Einträgen, die sie zu einer etwas größeren Seite gehören.

Nun möchte ich alle Datensätze suchen in m, die mit t verknüpft sind, aber in M nicht mehr vorhanden.

Code:
SELECT t.ID from t LEFT JOIN m ON t.ref_id = m.id where ISNULL(m.id)

Das funktioniert sehr schön bei den meisten Tabellen, bei dieser großen Verbindung ging das aber gehörig in die Hose, PC hängt sich auf (localhost, 512 RAM), MySQL muss abgebrochen werden.

Die Tabellen sind bereits indiziert, Spaltengröße optimiert etc.

Daher meine Frage: Wird MySQL mit dieser Datenmenge nicht fertig oder benütze ich nur eine umständliche Queryform?

Viele Grüße und vielen Dank schonmal,
Edemund
 
Hallo Edemund,

ich habe gerade zufällig diesen nun schon ziemlich alten Post gefunden, und weiß nicht, ob das noch aktuell ist.

Wenn ja, würde ich das vielleicht eher so machen:

Code:
     Select t.ID from t where t.id not in (Select m.id from m where m.id=t.ref_id)

Ich habe es eben kurz mit Pervasive SQL probiert, da tut das schneller als Deine Abfrage. Unter MySQL sollte es aber auch gehen, oder kann MySQL das nicht?

Liebe Grüsse
Ronald
 
Zurück