Linda: MySQL-Query mit Unterabfrage ist langsam

Beitrag lesen

Hallo zusammen,

ich benutze MySQL Datenbank 5.0 (MyISAM) in der Entwicklungsumgebung auf Windows. Die Datenbank ist etwa 500MB groß.

Im Moment versuche ich eine Abfrage zu starten, die meinen ganzen Rechner lahm legt. Die Struktur ist so:

SELECT * FROM t1 WHERE t1.column1 IN
(SELECT column1 FROM t2 ORDER BY column1);

Wobei die Unterabfrage für sich 0.5 Sekunden läuft und 8 Datensätze liefert. Die eigentliche Abfrage wenn auf einen Datensatz modifiziert:

SELECT * FROM t1 WHERE t1.column1 = 1

läuft unter 0.2 Sekunden.

Sobald ich die beiden Abfragen verbinde wird mein Rechner zu 100% von mysql-nt Dienst ausgelastet, sogar in Task Manager komme ich kaum rein um das Prozess zu beenden. Auch nach 10 Minuten ist kein Ergebnis da. Am Query-Tool liegt es nicht. Ich habe es mittlerweile auch in der Konsole probiert.

Können mir SQL-Profis da draußen einen Tip geben, woran es liegen könnte oder wie ich Unterabfragen grundsätzlich performanter gestalten kann?

Gruß, Linda

--
2 hours of try and error can save 10 minutes of manual reading