Loop Join in SQL Server 2008
Es ist mir nicht klar, welchen Unterschied zwischen den unten genannten Abfragen besteht.
Insbesondere bin ich über das Konzept von @ unklOPTION(LOOP JOIN)
.
1. Ansatz: Es wird ein traditioneller Join verwendet, der am teuersten ist als alle anderen.
SELECT *
FROM [Item Detail] a
LEFT JOIN [Order Detail] b ON a.[ItemId] = b.[fkItemId] OPTION (FORCE ORDER);
2. Ansatz: Es enthältOPTION
in einer Anweisung mit sortierten Daten, nur optimiert.
SELECT *
FROM [Item Detail] a
LEFT LOOP JOIN [Order Detail] b ON a.[ItemId] = b.[fkItemId] OPTION (FORCE ORDER);
3. Ansatz: Hier ist mir nicht klar, wie die Abfrage funktioniert und beinhaltetOPTION
mitloop join
!!?
SELECT *
FROM [Item Detail] a
LEFT LOOP JOIN [Order Detail] b ON a.[ItemId] = b.[fkItemId] OPTION (LOOP JOIN);
Kann jemand den Unterschied und die Arbeitsweise und die Vorteile der anderen erklären?
Hinweis Diese sindnich Verschachtelte ODER Hash-Schleifen!