Struktury indeks klastrowany

W SQL Server, indeksy są uporządkowane w postaci drzewa B. Każda strona B-drzewo indeks nosi nazwę węzłowi 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.Dowolne indeksu poziomy między głównym oraz liść węzłów zbiorczo nazywane są stopnie pośrednie.W indeksie klastrowanym węzłów liściowych zawierają stron danych z tabela podstawowej.Katalog główny i pośrednie poziom węzłów zawierają posiadających wierszy indeksu strony indeksu.Każdy wiersz indeks zawiera wartość klucz i wskaźnik, albo do pośredniego poziomu strona B-drzewo lub wiersz danych na poziomie poziom liścia indeksu.Na liście podwójnie połączone są połączone stron w poszczególnych poziomów wskaźnika.

Stosowanie indeksów klastrowanych mają w jednym wierszu sys.Partitions, with index_id = 1 dla każdej partycji, używane przez indeks.Domyślnie indeks klastrowany ma jedną partycję.Jeżeli indeks klastrowany znajduje się wiele partycji, każda partycja ma strukturę B-drzewo, która zawiera dane dla tej partycji określonego.Na przykład, jeżeli indeks klastrowany ma cztery partycje, istnieją cztery struktur B-drzewo; jeden 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, w którym mają być przechowywane i zarządzane dane dla określonej partycji.Co najmniej każdy indeks klastrowany będzie miał IN_ROW_DATA jednostka alokacji dla każdej partycji.Indeks klastrowany będzie miał LOB_DATA jednostka alokacji dla każdej partycji, jeśli zawiera ona kolumn dużego obiektu (LOB).Również będzie miał ROW_OVERFLOW_DATA jednostka alokacji dla każdej partycji, jeśli zawiera ona kolumn o zmiennej długości, które przekraczają limit rozmiaru wierszy 8,060 bajt.Aby uzyskać więcej informacji na temat jednostek alokacji zobacz Organizacja indeksu i tabela.

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

Important noteImportant Note:

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.Aby znaleźć zakres klucze, SQL Server Przenosi za pomocą indeksu do znalezienia początkową wartość klucz w zakresie i następnie skanuje między stronami danych za pomocą wskaźników następnego lub poprzedniego. Aby znaleźć na pierwszej stronie w łańcuchu stron danych SQL Server następuje po lewej stronie wskaźniki z korzenia indeksu.

Na ilustracji przedstawiono strukturę indeks klastrowany w jednej partycji.

Levels of a clustered index