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.
-
LOOPto 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ęJOINiWHEREwarunki. -
MERGEsortuje obie tabele, przemierza je w kolejności sortowania, pomijając niepasujące rekordy. Najszybszy dlaFULL JOINi kiedy oba zestawy rekordów są już posortowane (z poprzednich operacji sortowania lub gdy używana jest ścieżka dostępu do indeksu) -
HASHzbuduj 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 doWHEREiJOINstan.