W SQL Server można określić wskazówki dotyczące łączenia:
- HASH DOŁĄCZ
- ŁĄCZ DOŁĄCZ
- DOŁĄCZ DO PĘTLI
Jaka jest definicja tych trzech wskazówek dotyczących łączenia i kiedy należy ich używać?
W SQL Server można określić wskazówki dotyczące łączenia:
Jaka jest definicja tych trzech wskazówek dotyczących łączenia i kiedy należy ich używać?
Odpowiedzi:
Z MSDN w temacie Zaawansowane koncepcje dostrajania zapytań :
SQL Server wykorzystuje trzy typy operacji łączenia:
Łączy się zagnieżdżone pętle
Scalanie łączy
Hash dołącza
Jeśli jedno wejście sprzężenia jest małe (mniej niż 10 wierszy), a drugie wejście sprzężenia jest dość duże i zindeksowane w swoich kolumnach łączenia, sprzężenie zagnieżdżonych indeksów pętli jest najszybszą operacją łączenia, ponieważ wymagają najmniejszej liczby operacji we / wy i najmniejszej liczby porównań. Aby uzyskać więcej informacji o zagnieżdżonych pętlach, zobacz Opis połączeń zagnieżdżonych pętli.
Jeśli dwa dane wejściowe łączenia nie są małe, ale są sortowane według kolumny łączenia (na przykład, jeśli zostały uzyskane przez skanowanie posortowanych indeksów), łączenie scalające jest najszybszą operacją łączenia. Jeśli oba wejścia łączenia są duże, a dwa wejścia mają podobną wielkość, połączenie scalające z wcześniejszym sortowaniem i połączenie mieszające oferują podobną wydajność. Jednak operacje łączenia skrótu są często znacznie szybsze, jeśli dwa rozmiary wejściowe znacznie się od siebie różnią. Aby uzyskać więcej informacji, zobacz Opis scalania połączeń.
Złączenia Hash mogą efektywnie przetwarzać duże, nieposortowane, nieindeksowane dane wejściowe.
Uważam jednak, że powinieneś zacząć od bardziej podstawowego tematu: Dostrajanie zapytań, a na koniec przejdź do korzystania ze wskazówek dotyczących zapytań.