Mailinglisten-Archive |
Hallo, ich muss eine relativ grosse Abfrage über drei Tabellen realisieren, ohne daß mir mein Provider wegen Ressourcen aufs Kreuz steigt. Gibt es zu folgendem Code eine Alternative, die _nicht_ erst eine komplette temporäre Tabelle mit allen möglichen Kombinationen anlegt und dann anfängt zu filtern? Diese Lösung kommt mir als ziemlicher Ressourcenfresser vor. Jedenfalls erzeugt sie mit BIG_TABLES eine Temporärdatei von ca. 1.5GB Grösse ... --------------------------------------------------------------------------- SELECT h.id, h.stadt1, h.stadt2, h.stadt3, s.id, s.name, ss.id, ss.name, sss.id, sss.name from h, staedte as s, staedte as ss, staedte as sss WHERE (.......) AND s.id=h.stadt1 AND ss.id=h.stadt2 AND sss.id=h.stadt3 ORDER BY {je nachdem s.name, ss.name oder sss.name} ; --------------------------------------------------------------------------- Problem: Die StädteNAMEN stehen in den Städtetabellen, dummerweise nicht sortiert. Die Abfrage soll aber nach StädteNAMEN sortieren. Und externes sortieren wollte ich eigentlich vermeiden, darauf ist eine Datenbank doch schließlich (auch) ausgerichtet. RTFM-Pointer sind mir auch willkommen, allerdings habe ich selber im MySQL Manual bisher darüber noch nichts finden können.... -- `Man sollte dem Verantwortlichen für ILOVEYOU alles http://www.linuxfaq.de mögliche antun, aber wahrscheinlich wird bloß http://www.hitchhikers.de seine Firma zweigeteilt." -- Usenet http://www.pinguin.conetix.de
php::bar PHP Wiki - Listenarchive