Hallo Mark,
zumeist ist der SQL nicht allein schuld daran, das eine Abfrage langsam ist, sondern der fehlende oder falsche Index auf den Tabellen etc.
Mach am Besten einen neuen Thread auf, mit Folgendem:
Um bei Performancefragen richtig helfen zu können, bedarf es folgender Informationen (für alle beteiligten Tabellen):
* SHOW CREATE TABLE tbl; -- liefert engine, indexes
* SHOW TABLE STATUS LIKE 'tbl'; -- liefert die Tabellengrößen
* EXPLAIN SELECT ...; -- EXPLAIN Ausgabe für den Zugriffpfad
* SHOW VARIABLES LIKE '%buffer%'; -- wichtige MySQL Server Einstellungen
Beispiel EXPLAIN..
mysql> EXPLAIN SELECT * FROM kunde;
+----+-------------+-------+--------+---------------+------+---------+------+------+---------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+--------+---------------+------+---------+------+------+---------------------+
| 1 | SIMPLE | kunde | system | NULL | NULL | NULL | NULL | 0 | const row not found |
+----+-------------+-------+--------+---------------+------+---------+------+------+---------------------+
1 row in set (0.19 sec)
mysql>
Bitte die Ausgabe oder den SQL-Code sauber formatieren mit [ code ] [ / code ] (ohne Leerzeichen), sonst kann man es nur schwer lesen.
Grüße
Thomas