Angenommen, ich habe eine von vier Tabellen verbinden, Tabelle 1, die die anderen 3 Tabellen verweisen (Table2,3,4) über Fremdschlüsselbeziehungen:MySQL Query-Optimierung durch, um die Synchronisation von Spalten und WHERE-Klausel Bedingungen
SELECT a.column_a, b.column_b, c.column_c, d.column_d
FROM Table1 a, Table2 b, Table3 c, Table4 d
WHERE a.col1_fk=d.col_id
AND a.col2_fk=c.col_id
AND a.col3_fk=b.col_id
Um die beste Optimierung der obigen Anweisung zu haben, sollten die Join-Bedingungen in der gleichen Reihenfolge sein, in der die Spalten der SELECT-Anweisung sind? Ist mein Beispiel also am wenigsten optimiert? Oder ist die genannte Reihenfolge nicht wichtig?
Nichts für ungut - ich weiß, was du meinst: INNER JOIN, OUTER JOIN usw. Vielleicht eines Tages werde ich. Ich benutze SQL seit 1993 - rein und raus. Der alte Weg funktioniert immer noch gut für meine Joins. Der neue Weg scheint das Gleiche nur komplizierter zu machen. – Mikey
Über Indizes weiß ich, dass alle Felder, die an einer WHERE-Klausel teilnehmen, indiziert werden sollten. Dies sind Primär- und Fremdschlüssel. Ich kenne EXPLAIN (EXPLAIN PLAN), aber ich habe es nie benutzt - merkwürdigerweise. Ich werde darüber lesen. – Mikey