Dzisiaj dowiedziałem się o czymś w SQL Server o nazwie INNER LOOP JOIN
.Kiedy należy używać INNER -LOOP- JOIN zamiast INNER JOIN
Co to oznacza? (Google nie pomaga .. lub powinienem powiedzieć ... posty na blogu są trochę ... techniczne i dmuchają w mojej głowie).
Co to są niektóre typowe scenariusze, w których warto zastosować standard INNER LOOP JOIN
w stosunku do standardowego INNER JOIN
?
cytować "Pozwól, aby optymalizator zapytania zdecydował (sic)". Jak to się stało (w zasadzie)? Poprzez statystyki? –
Różne rodzaje łączenia są zoptymalizowane dla różnych semantyki zapytań, i tak, są one w większości oparte na statystykach/liczności, ale także inne czynniki, takie jak to, czy jedna strona połączenia jest znacznie większa niż druga strona, czy wejście z każdej strony Łączenie jest sortowane itd. Jestem z innymi ... jeśli posty na blogu o tym dmuchają, znacznie lepiej jest zdecydować się na decyzję optymalizatora, dopóki nie opanujesz różnic między typami łączenia * i * czujesz, że jesteś mądrzejszy od optymalizatora. –
@ pure.Krone. Masz rację . Chociaż nie wiadomo mi o extact algo, wiem, że jest to funkcja Statystyka podkreślonych tabel i indeksów, sposób tworzenia grup plików dla podkreślonych obiektów, brak rdzeni serwera (MAXDOP) i wiele innych czynników. Jeśli chcesz głęboko zagłębić się, proponuję przeczytać Blog Connora Cunninghama, który jest Głównym Architektem MS SQL Core. – Ash