Opis mieszania przyłącza
łączyć mieszania ma dwa składniki: wejściowy kompilacji i wprowadzania sondy.optymalizator kwerendy przypisuje role te tak mniejszych nakładów dwóch wejściowy kompilacji.
Sprzężenia mieszania są używane dla wielu typów operacji dopasowywania zestaw: łączyć wewnętrzne; lewy, prawy i pełnego łączyć zewnętrzne; Lewy i prawy semi-łączyć; Przecięcie; Unii; a różnica.Ponadto, można wykonać wariant łączyć mieszania zduplikowane usuwania i grupowanie, takie jak dział SUM(salary) GROUP BY.Te modyfikacje używać tylko jedno wejście kompilacji i sondy ról.
W poniższych sekcjach opisano różne typy sprzężeń mieszania: łączyć mieszania w pamięci, wstępnego mieszania łączyć i cykliczne mieszania łączyć.
Sprzężenia mieszania w pamięci
łączyć mieszania najpierw skanuje lub oblicza całego zestawu danych wejściowych i następnie buduje tabela mieszania w pamięci.W każdym wierszu jest wstawiany do kolorem mieszania, w zależności od wartości mieszania obliczone dla klucz mieszania.Jeśli dane wejściowe całego zestawu jest mniejsza niż ilość dostępnej pamięci, wszystkie wiersze można wstawić do tabela mieszania.Ta faza konstruowania następuje faza sondy.Cały sondy wejściowych jest skanowany lub obliczana jeden wiersz w czasi dla każdego wiersza sondy wartość klucz mieszania jest obliczana, zeskanowane odpowiednim kolorem mieszania i produkowane są odpowiedniki.
Sprzężenia mieszania prolongaty
Jeżeli wejściowy kompilacji nie dopasowanie w pamięci, łączyć mieszania przechodzi w kilku etapach.Jest to nazywane łączyć wstępnego mieszania.Każdy krok ma Faza konstruowania i faza sondy.Początkowo całego kompilacji i sondy produkcji są zużywane i podzielone (przy użyciu funkcja mieszania klawisze skrótu) wielu plików.Klawisze skrótu przy użyciu funkcja mieszania gwarantuje, że dwa rekordy przyłączania musi być w tej samej pary plików.Dlatego zadania sprzęgania dwóch dużych nakładów została zmniejszona do wielu, ale mniejszych wystąpień tego samego zadania.łączyć mieszania jest następnie stosowana do każdej pary plików podzielonym na partycje.
Sprzężenia mieszania cykliczne
Jeśli jest tak duża, że nakłady dla standardowych scalania zewnętrznego wymaga wielu poziomów scalania wprowadzania kompilacji, wielu kroków partycjonowanie na partycje i wielu poziomów partycjonowanie są wymagane.Jeśli tylko niektóre partycje są duże, dodatkowe kroki partycjonowanie są używane tylko określonej partycjonowanie.Aby wprowadzić wszystkie kroki partycjonowanie tak szybka jak to możliwe, duże, asynchroniczne operacje We/Wy są używane tak, aby w jednym wątek można przechowywać wiele dysków zajęta.
Ostrzeżenie
Nieco większe niż dostępna pamięć jest tylko wprowadzania kompilacji, elementy łączyć mieszania w pamięci i wstępnego mieszania łączyć tworzą w jednym kroku, produkujących łączyć mieszania mieszańców.
Nie zawsze jest możliwe podczas optymalizacji, aby ustalić, które łączyć mieszania jest używany.Dlatego SQL Server jest uruchamiany przy użyciu łączyć mieszania w pamięci i stopniowo przejścia do wstępnego mieszania łączyć i łączyć mieszania cyklicznych, w zależności od rozmiaru wejściowy kompilacji.
Jeśli Optymalizator przewiduje niesłusznie, którego dwóch danych wejściowych jest mniejszy i, dlatego powinny zostać wejściowy kompilacji, kompilacji i sondy role są wycofywane dynamicznie.łączyć mieszania sprawdza, czy korzysta z mniejszego pliku przepełnienia, jak zbudować wprowadzania.Ta technika jest zwana odwrócenie roli.Odwrócenie roli wewnątrz łączyć mieszania po występuje rozlewania co najmniej jeden dysk.
Ostrzeżenie
Odwrócenie roli występuje niezależnie od wszelkich wskazówki kwerendy lub struktury.Odwrócenie roli nie są wyświetlane w planie kwerendy; Jeśli występuje on jest przezroczyste dla użytkownika.
Podejmowano mieszania
Termin podejmowano mieszania jest czasem używany do opisu wstępnego mieszania sprzężeń lub cykliczne mieszania sprzężenia.
Ostrzeżenie
Cykliczne mieszania sprzężeń lub akcji ratunkowych mieszania spowodować ograniczenie wydajności serwera.Jeśli wiele Hash ostrzeżenia śledzenia aktualizacja statystyki w kolumnach są dołączone.
Aby uzyskać więcej informacji na temat podejmowano mieszania Zobacz Klasa zdarzenia ostrzegawcze mieszania.
Zobacz także