Ponieważ pozbawia to optymalizatora możliwości rozważenia innych metod, które mogą być bardziej wydajne.
Gdy dystrybucja danych (w której optymalizator podejmuje decyzje) jest mocno wypaczona, a statystyki nie są w stanie jej poprawnie przedstawić.
To są różne algorytmy.
-
LOOP
to pętle zagnieżdżone:dla każdego rekordu z tabeli zewnętrznej przeszukiwana jest tabela wewnętrzna (przy użyciu indeksu dostępnych). Najszybciej, gdy tylko niewielka część rekordów z obu tabel spełnia funkcjęJOIN
iWHERE
warunki. -
MERGE
sortuje obie tabele, przemierza je w kolejności sortowania, pomijając niepasujące rekordy. Najszybszy dlaFULL JOIN
i kiedy oba zestawy rekordów są już posortowane (z poprzednich operacji sortowania lub gdy używana jest ścieżka dostępu do indeksu) -
HASH
zbuduj tablicę mieszającą w pamięci tymczasowej (pamięć lubtempdb
) z jednej z tabel i przeszukuje ją dla każdego rekordu z drugiej. Najszybciej, jeśli duża część rekordów z dowolnej tabeli pasuje doWHERE
iJOIN
stan.