Równolegle operacji indeksu
Planów kwerend zbudowane dla operacji indeksu, które utworzyć odbudować indeks lub usunąć indeks klastrowany umożliwia równoległe, wielowątkowe operacji na komputerach z wieloma mikroprocesorów.
Ostrzeżenie
Indeksu równoległa operacje są dostępne tylko w SQL Server 2008 przedsiębiorstwa.
SQL Server używa tych samych algorytmów do określenia stopnia równoległości prostych (całkowita liczba wątków oddzielnego uruchamiania) dla operacji Indeks wykonuje inne kwerendy.Maksymalny stopień równoległości prostych operacji indeksu podlega maksymalny stopień równoległości prostych opcji konfiguracja serwera.Można zastąpić maksymalny stopień równoległości prostych wartość indeksu poszczególnych operacji przez ustawienie opcji indeksowania MAXDOP w instrukcji CREATE INDEX, zmianę INDEKSU, UPUŚĆ INDEKSU i ALTER TABLE.
Gdy Aparat baz danych kompilacje plan wykonania indeksu liczby równoległych operacji jest zestaw do najniższej wartości spośród następujących:
Liczba mikroprocesorach w komputerze.
Liczba określona w maksymalny stopień równoległości prostych opcji konfiguracja serwera.
Liczba procesorów jeszcze powyżej progu wykonanej pracy SQL Server wątków.
Na przykład na komputerze, który zawiera osiem procesorów, ale gdzie maksymalny stopień równoległości prostych jest zestaw 6, nie więcej niż sześciu równoległych wątków są generowane dla operacji indeksu.Jeśli pięć procesorów w komputerze przekracza próg SQL Server podczas pracy zbudowany indeks plan wykonania, określa plan wykonania tylko trzy równoległych wątków.
Następujące główne etapy operacji równoległych indeksu:
Wątek koordynujące szybko i losowo skanowanie tabela oszacowanie dystrybucji kluczy indeksu.Wątek koordynujące ustanawia granic kluczy, które utworzy numer klucz zakresów równym stopniu operacji równoległych, gdzie każdy zakres klucz szacuje się na pokrycie podobne numery wierszy.Na przykład jeśli istnieją czterech milionów wierszy w tabela 4 jest stopień równoległości prostych, koordynujące wątek określa wartości klucz, który rozgranicza cztery zestaws wierszy z 1 miliona wierszy w każdym zestaw.Nie można ustanowić wystarczająco klucz zakresów do używania wszystkich procesorów, stopień równoległości prostych jest odpowiednio zmniejszone.
Wątek koordynujące wywołuje liczbę wątków w równym stopniu operacji równoległych i czeka na tych wątków do wykonania pracy.Każdy wątek skanowanie przy użyciu filtru, który pobiera tylko wiersze z wartości kluczy w tabela bazowa zakres przypisane do wątku.Każdy wątek tworzy strukturę indeksu wierszy w jej zakres klucz.W przypadek indeks partycjonowany, każdy wątek tworzy określoną liczbę partycji.Partycje nie są współużytkowane przez wątki.Aby uzyskać więcej informacji dotyczących sposobu zbudowany indeks, zobacz tempdb i tworzenie indeksu.
Po ukończeniu równoległych wątków koordynujące wątek łączy podjednostek indeksu w pojedynczy indeks.Faza ta dotyczy tylko operacje indeks w trybie offline.
Pojedyncze instrukcje CREATE TABLE lub ALTER TABLE może mieć wiele ograniczeń, które wymagają utworzenia indeksu.Te wielu operacji tworzenia indeksu są wykonywane w serii, chociaż każdej operacji tworzenia indeksu poszczególnych równolegle operacji na komputerze z wielu procesorów.