Struktury sterty.
Stosu jest tabelą bez indeks klastrowany.Hałd mają w jednym wierszu sys.Partitions, with index_id = 0 dla każdej partycji, używane przez sterty.Domyślnie sterty ma jedną partycję.Gdy sterty znajduje się wiele partycji, każda partycja ma strukturę stosu, która zawiera dane dla tej partycji określonego.Na przykład, jeśli sterty ma cztery partycje, istnieją cztery struktur sterty, jednej w każdej partycji.
W zależności od typów danych w stosie każdej struktury sterty ma jeden lub więcej jednostek alokacji na przechowywanie i zarządzanie danymi na określonej partycji.Co najmniej sterty każdy będzie miał IN_ROW_DATA jednostka alokacji dla każdej partycji.Sterty będzie miał LOB_DATA jednostka alokacji dla każdej partycji, jeśli zawiera ona kolumn dużego obiektu (LOB).Również ma 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.
The column first_iam_page in the sys.system_internals_allocation_units system view points to the first IAM page in the chain of IAM pages that manage the space allocated to the heap in a specific partition.SQL Server uses the IAM pages to move through the heap.Dane stron i wierszy w nich nie są w określonej kolejności i nie są połączone.Tylko logiczne połączenia między stronami danych to informacje rejestrowane na stronach IAM.
Important Note: |
---|
The sys.system_internals_allocation_units system view is reserved for Microsoft SQL Server internal use only.Przyszła zgodność nie jest gwarantowana. |
Skanowanie tabela lub szeregowe odczyty sterty mogą być wykonywane przez skanowanie stron IAM, aby znaleźć zakresów, które są posiadających stron dla sterty.Ponieważ IAM reprezentują zakresy w tej samej kolejności, że istnieją w pliku danych, oznacza to, że tej sterty szeregowego skanuje postępu kolejno do każdego pliku.Także do ustawiania sekwencji skanowania przy użyciu stron IAM oznacza, że wiersze z sterty nie są zazwyczaj zwracane w kolejności, w których zostały wstawione.
Poniższej ilustracji jak SQL Server Database Engine wykorzystuje IAM strony, aby pobrać wiersze danych w stosie jedną partycję.