Udostępnij za pośrednictwem


Struktury sterty

Sterty jest tabela bez indeks klastrowany.Hałd mają jeden wiersz w sys.partitions, z index_id = 0 dla każdej partycji, używany przez sterty.Domyślnie sterty ma jedną partycję.Kiedy sterty ma wiele partycji, każda partycja ma strukturę sterty, zawierającą dane dla tej konkretnej partycji.Na przykład jeśli sterty ma cztery partycje, istnieją cztery sterty struktur; jedna w każdej partycji.

W zależności od typów danych w stercie każdej struktury sterty ma jeden lub więcej jednostek alokacji, przechowywanie i zarządzanie danymi na określonej partycji.Co najmniej każdego stosu będą miały IN_ROW_DATA jednostka alokacji dla każdej partycji.Sterty 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.

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.Strony danych i wiersze w nich nie znajdują się w określonej kolejności i nie są połączone.Tylko logiczne połączenie między stronami danych jest informacje rejestrowane na stronach IAM.

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.

Skanując strony IAM, aby znaleźć zakresów, które mają w posiadaniu strony sterty, można wykonać skanowanie tabeli lub szeregowe odczyty sterty.Ponieważ IAM reprezentuje zakresów w takiej samej kolejności, istnieją w plikach danych, oznacza to, tej sterty szeregowego skanuje postępu sekwencyjnie przez każdego pliku.IAM korzystanie ze stron do zestaw sekwencji skanowania oznacza również, że wiersze z sterty nie są zazwyczaj zwracane w kolejności, w jakiej zostały wstawione.

Na poniższej ilustracji pokazano sposób Aparat baz danych programu SQL Server wykorzystuje IAM strony, aby pobrać wiersze danych w jednej partycji sterty.

Strony IAM pobierają dane w pojedynczej stercie partycji