Für innere Verknüpfungen ist eine einzelne Abfrage sinnvoll, da Sie nur übereinstimmende Zeilen erhalten. Für linke Verknüpfungen sind mehrere Abfragen viel besser ... sehen Sie sich den folgenden Benchmark an, den ich erstellt habe:
-
Einzelne Abfrage mit 5 Joins
Abfrage:8,074508 Sekunden
Ergebnisgröße:2268000
-
5 Abfragen hintereinander
Kombinierte Abfragezeit:0,00262 Sekunden
Ergebnisgröße:165 (6 + 50 + 7 + 12 + 90)
.
Beachten Sie, dass wir in beiden Fällen die gleichen Ergebnisse erhalten (6 x 50 x 7 x 12 x 90 =2268000)
Left Joins verwenden exponentiell mehr Speicher mit redundanten Daten.
Das Speicherlimit ist möglicherweise nicht so schlimm, wenn Sie nur zwei Tabellen verknüpfen, aber im Allgemeinen drei oder mehr, und es lohnt sich, verschiedene Abfragen durchzuführen.
Nebenbei bemerkt, mein MySQL-Server befindet sich direkt neben meinem Anwendungsserver ... also ist die Verbindungszeit vernachlässigbar. Wenn Ihre Verbindungszeit im Sekundenbereich liegt, gibt es vielleicht einen Vorteil
Frank