Udostępnij za pośrednictwem


Struktury indeksu klastrowanego

W SQL Server, indeksy są zorganizowane jako B-drzew.Każda strona B-drzewo indeks jest nazywany węzeł indeksu.Węzeł najwyższego poziomu B-drzewo nosi nazwę węzła głównego.Najniższy poziom węzłów w indeksie jest nazywany liść węzłów.Wszystkie poziomy indeksu głównego między węzłami liść są nazywane zbiorczo poziomów pośrednich.W indeksie klastrowanym węzłów liściowych zawierają dane strony tabela źródłowa.Główny i pośrednich poziom węzłów zawierają stron indeksowych gospodarstwa indeksu wierszy.Każdy wiersz indeks zawiera wartość klucz i wskaźnik albo pośrednie strona poziomu B-drzewo lub wiersz danych w poziom liścia poziomu indeksu.Strony każdego poziom indeksu są połączone z listy połączonych podwójnie.

Stosowanie indeksów klastrowanych mają jeden wiersz w sys.partitions, z index_id = 1 dla każdej partycji, używany przez indeks.Domyślnie indeks klastrowany ma jedną partycję.Jeśli indeks klastrowany ma wiele partycji, każda partycja ma B-drzewo strukturę, która zawiera dane dla tej konkretnej partycji.Na przykład, jeżeli indeks klastrowany ma cztery partycje, istnieją cztery B-drzewo struktur; jedna w każdej partycji.

W zależności od typów danych w indeksie klastrowanym każdej struktury indeks klastrowany ma jeden lub więcej jednostek alokacji na przechowywanie i zarządzanie danymi na określonej partycji.Co najmniej każdego indeks klastrowany ma IN_ROW_DATA jednostka alokacji dla każdej partycji.Indeks klastrowany będzie miała również LOB_DATA jednostka alokacji dla każdej partycji, jeśli zawiera ona kolumn dużego obiektu (LOB).ROW_OVERFLOW_DATA jednostka alokacji dla każdej partycji będzie miała również zawiera kolumny o zmiennej długości, które przekraczają limit rozmiaru wierszy 8,060 bajt.Aby uzyskać więcej informacji na temat jednostek alokacji, zobacz Organizacji indeksu i tabeli.

Strony w łańcuchu danych i wiersze w nich są uporządkowane na wartość klucz indeks klastrowany.Wstawia wszystkie są dokonywane w punkcie, gdzie znajdzie się wartość klucz w wstawionego wiersza w sekwencji sortowania między istniejące wiersze.Kolekcje strona dla B-drzewo zakotwiczone przez strona wskaźniki w sys.system_internals_allocation_units widok systemu.

Ważna informacjaWażne:

The sys.system_internals_allocation_units system view is reserved for Microsoft SQL Server internal use only.Przyszła zgodność nie jest gwarantowana.

For a clustered index, the root_page column in sys.system_internals_allocation_units points to the top of the clustered index for a specific partition.SQL Server moves down the index to find the row corresponding to a clustered index key.Do znalezienia zakres klucze, SQL Server przechodzi przez indeks w celu znalezienia początkową wartość klucz w zakresie, a następnie skanuje stron danych przy użyciu wskaźników poprzedniej lub następnej.Aby znaleźć pierwszej strona w łańcuchu stron danych SQL Server następujące wskaźniki lewej strona z korzenia indeks.

Na ilustracji przedstawiono strukturę indeks klastrowany w jednej partycji.

Poziomy indeksu klastrowanego