Das mag eine dumme Frage sein, aber es könnte Licht in die Funktionsweise von Joins bringen.Beschleunigung innerer Joins zwischen einer großen Tabelle und einer kleinen Tabelle
Nehmen wir an, ich habe eine große Tabelle L
und eine kleine Tabelle S
(100K Zeilen im Vergleich zu 100 Zeilen).
Gäbe es zwischen den beiden folgenden Optionen ?:
OPTION 1: OPTION 2:
--------- ---------
SELECT * SELECT *
FROM L INNER JOIN S FROM S INNER JOIN L
ON L.id = S.id; ON L.id = S.id;
Beachten Sie, dass der einzige Unterschied ist die Reihenfolge, in der die Tabellen verbunden sind, einen Unterschied in Bezug auf die Geschwindigkeit sein.
Ich weiß, dass die Leistung zwischen verschiedenen SQL-Sprachen variieren kann. Wenn ja, wie würde MySQL mit Access vergleichen?
Also, da beide Tabellen eindeutige Indizes haben, wird die Leistung von Fall zu Fall variieren? – Zaid
@Zaid: Wenn die Statistiken aktuell sind (und die Abfrage wie oben beschrieben neu kompiliert wird), spielt die Reihenfolge der Verknüpfung keine Rolle; Der Optimierer wird den richtigen Weg wählen. –
Ja, vielleicht hätte ich mehrere und verschachtelte Joins im OP enthalten sollen ... – Zaid