JOIN als Subquery?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hey,
ich hab letztens gelesen das Subquerys schneller sind als Joins,
1. stimmt das?
2. Wie schreibt man einen Join in ein Subquery um?
Bsp.:
SELECT t1.spalte2, t2.spalte2 FROM table1 t1 INNER JOIN table2 ON t1.spalte1 = t2.spalte1 WHERE t1.spalte3 = 'anything'
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
1. Nein, im Normalfall nicht. (Das bezieht sich auf Dependent Subqueries, Independent Subqueries sind natürlich schneller, da ihr Wert immer gleich bleibt ^^)
2. Gar nicht. Ein Join ist hier die bessere Wahl. Wenn er dir zu langsam ist mach ein SELECT EXPLAIN und sehe welche Spalten zu indizieren solltest ;) -
SELECT t1.spalte2, t2.spalte2 FROM table1 t1 INNER JOIN table2 ON t1.spalte1 = t2.spalte1 WHERE t1.spalte3 = 'anything'
du hast übrigends den Alias t2 vergessen.
du kannst dir ein Subquery machen in dem eine Tabellenstruktur vorhanden ist und diese dann in die FROM bzw. auch hinters JOIN schreiben vergesse bloss nicht den SubQuery ein Alias zu geben sonst ist es nicht ansprechbar.
http://dev.mysql.com/doc/refman/5.1/de/unnamed-views.html -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage