Gibt es beim Zusammenfügen von Tabellen (wie in den folgenden Beispielen) einen Effizienzunterschied zwischen dem Verknüpfen von Tabellen oder dem Verknüpfen von Unterabfragen, die nur die erforderlichen Spalten enthalten?Tabelle Join Efficiency Frage
Mit anderen Worten, gibt es einen Unterschied in der Effizienz zwischen diesen beiden Tabellen?
SELECT result
FROM result_tbl
JOIN test_tbl USING (test_id)
JOIN sample_tbl USING (sample_id)
JOIN (SELECT request_id
FROM request_tbl
WHERE request_status='A') USING(request_id)
vs
SELECT result
FROM (SELECT result, test_id FROM result_tbl)
JOIN (SELECT test_id, sample_id FROM test_tbl) USING(test_id)
JOIN (SELECT sample_id FROM sample_tbl) USING(sample_id)
JOIN (SELECT request_id
FROM request_tbl
WHERE request_status='A') USING(request_id)
Schöne Frage - Ich werde jemand mehr kenntnisreiche Antwort geben, aber meine Ahnung ist, dass die beiden in Bezug auf Effizienz etwa gleich sind, da die DB-Engine in beiden Fällen auf die gleiche Anzahl von Spalten verbinden muss und daher aussehen in der gleichen Anzahl von Zeilen (obwohl weniger Felder beteiligt sind). Korrigiere mich, wenn ich falsch liege! – AndreiM
Mark Brady hätte diese Frage LIEBT, aber nooooo .... Die Eliten hier in der Nähe haben ihn mit ihrer Machtmache verscheucht. – TheSoftwareJedi
Schließen Sie diese Frage als nicht mehr relevant, da jeder weiß, dass SQL Server besser ist und wir nicht einmal fragen müssen. – TheSoftwareJedi