147
Bazy danych
Strony
danymi
Rys. 6.7 Indeks grupowany
Indeks grupowany może być dla danej tabeli tylko jeden (jednoznaczne sortowanie danych w indeksie). W MS SQL Server na wszystkich polach będących kluczami głównymi tabel są domyślnie zakładane indeksy grupowane.
Indeksy niegrupowane (ang. nonclustered)
Indeks niegrupowany działa na podobnej zasadzie jak indeks typowej w książce (ale nie w telefonicznej). Indeks niegrupowany budowany jest na stronach danych, które nie są sortowane. Składa się z co najmniej dwu poziomów: poziomu niepomocniczego i poziomów pomocniczych. Na stronach poziomu niepomocniczego podobnie jak w przypadku indeksu grupowanego przechowywane są wartości indeksowanego pola ze wskaźnikami do poziomu niżej w drzewie indeksu.
Strony poziomu pomocniczego zwane też liśćmi (ang. leaf) zawierają wskaźniki do konkretnych stron danych (które nie są posortowane). Wskaźnik taki zawiera następujące dane: ID pliku, numer strony, numer wiersza na stronie.
Przeszukiwanie indeksu niegrupowanego odbywa się na podobnej zasadzie, jak w indeksie grupowanym. Po dojściu do poziomu pomocniczego następują skoki do stron danych (do konkretnych wierszy).
Strony
indeksu
Poziom
(wartość
klucza)
Rys. 6.8 Indeks niegrupowany