Advanced Query Tuning Concepts
Microsoft SQL Server Wykonuje sortowanie, przecinają się Unii i różnica operacje, korzystając w pamięci, sortowanie i technologii łączyć mieszania. Za pomocą tego typu planu kwerend SQL Server obsługuje pionowej tabela partycjonowanie, nazywanego Magazyn kolumnowy.
SQL Server wykorzystuje trzy typy łączyć operacji:
Zagnieżdżone pętli sprzężeń
Scalanie sprzężeń
Wartość mieszania sprzężeń
Jeśli jedno wejście łączyć jest mały (mniej niż 10 wierszy), a drugi łączyć jest dość duży i indeksowane w jej kolumnach łączyć, łączyć zagnieżdżonych pętli indeksu jest najszybszy operacja łączenia, ponieważ wymagają one co najmniej We/Wy i najmniejsze porównań.Aby uzyskać więcej informacji na temat zagnieżdżonych pętli zobacz Understanding Nested Loops Joins.
Jeśli dane wejściowe łączyć dwóch nie są małe, ale są sortowane na ich kolumna dołączania (na przykład, jeśli zostały pozyskane skanowania indeksów sortowane), łączyć korespondencji seryjnej jest najszybszą operacja łączenia.Jeśli dane wejściowe łączyć są duże i dwóch danych wejściowych są o podobnych rozmiarach, łączyć korespondencji seryjnej z przed sortowaniem i łączyć mieszania oferują podobną.Jednak operacje sprzęgania mieszania są często znacznie szybciej w przypadku dwóch rozmiarów wejściowy różnią się znacznie od siebie.Aby uzyskać więcej informacji zobaczUnderstanding Merge Joins.
Wartość mieszania sprzężenia wydajnie może przetwarzać duże, niesortowanymi, nieindeksowanych danych wejściowych.Są one przydatne dla pośrednich powstaje w złożonych kwerend, ponieważ:
Pośrednie wyniki nie są indeksowane (o ile jawnie zapisane na dysku, a następnie indeksowane) i często nie są odpowiednio sortowane dla następnej operacji w planu kwerend.
Kwerendy optimizers oszacować tylko wynik pośredni rozmiarów.Oszacowania mogą być niedokładne bardzo skomplikowanych kwerend, algorytmy do przetworzenia wyniki pośrednich nie tylko musi być skuteczne, ale także należy obniżyć łagodnie Jeśli wynik pośredni, stanie będzie znacznie większy niż przewidywano.
łączyć mieszania umożliwia zmniejszenie wykorzystania denormalization.Denormalization jest zazwyczaj używany do osiągnięcia lepszej wydajności przez zmniejszenie operacji łączyć, pomimo o zagrożeniach związanych z nadmiarowości, takie jak aktualizacje niespójne.Sprzężenia mieszania zmniejsza potrzebę denormalizować.Sprzężenia mieszania umożliwiają partycjonowanie pionowe rentowny opcję dla projektu fizycznej bazy danych staje się (reprezentujące grupy kolumn z pojedynczej tabela w oddzielnych plikach i indeksów).Aby uzyskać więcej informacji zobaczUnderstanding Hash Joins.