Opis stron i zakresów
Podstawową jednostką przechowywania danych w SQL Server jest to strona. The disk space allocated to a data file (.mdf or .ndf) in a database is logically divided into pages numbered contiguously from 0 to n.Dyskowych operacji We/Wy są wykonywane poziom strona.Oznacza to, SQL Server odczytuje lub zapisuje dane całej strony.
Zakresy są zbiorem osiem stron fizycznie sąsiadujących ze sobą i są używane do wydajnego zarządzania strony.Wszystkie strony są przechowywane w zakresów.
Strony
W SQL Server, rozmiar strona jest 8 KB. Oznacza to, że SQL Server baz danych używających 128 stron w jednym megabajcie. Każda strona zaczyna się od nagłówek 96-bajtowych, który jest używany do przechowywania informacji systemu pomocy dla strony.Informacje te obejmują numer strony, strona Typ, ilość wolnego miejsca na stronie i identyfikator jednostka alokacji obiektu, który jest właścicielem strony.
W poniższej tabela przedstawiono typy stron, używane w plikach danych SQL Server Baza danych.
Typ strona |
Spis treści |
---|---|
Dane |
Wiersze danych, zawierająca wszystkie dane, z wyjątkiem text, ntext, image, nvarchar(max), varchar(max), varbinary(max), a xml dane, jeśli tekst w wierszu jest ustawiona na ON. |
CTRL + F1 |
Hasła indeksu. |
Tekstu/obrazu |
Typy danych dużego obiektu:
Kolumny o zmiennej długości, gdy wiersz danych przekracza 8 KB:
|
Tablica alokacji globalne, udostępnione globalnego tablicy alokacji |
Informacja, czy są one przydzielane zakresy. |
Wolne miejsce strona |
Informacji na temat podziału strona i wolnego miejsca dostępnego na stronach. |
Mapa alokacji indeksu |
Informacje dotyczące zakresów używane przez tabela lub indeksu na jednostka alokacji. |
Mapa zmienione zbiorczej |
Informacje dotyczące zakresów modyfikowany przez operacje zbiorcze od czasu ostatniego dziennik kopia zapasowa instrukcja na jednostkę alokacji. |
Różnicowa zmienione mapy |
Informacje dotyczące zakresów, które uległy zmianie od czasu ostatniego wyciągu kopia zapasowa DATABASE na jednostka alokacji. |
Uwaga
Pliki dziennika nie zawierają stron, zawierają szereg rekordów dziennika.
Wiersze danych są umieszczane strona pojedynczo, uruchamianie natychmiast po nagłówku.tabela Wiersz przesunięcia rozpoczyna się od końca strona, a każdy wiersz tabela przesunięcia zawiera jeden wpis dla każdego wiersza strona.Każdy wpis rekordy, jak daleko jest pierwszy bajt w wierszu od początku strona.Wpisy w tabela Wiersz przesunięcia znajdują się w odwrotnej kolejności z sekwencji numerów wierszy strona.
Obsługa dużych wierszy
Wiersze nie mogą rozciągać się na stronach, jednak części w wierszu, mogą być przenoszone poza strona w wierszu, aby wiersz faktycznie mogą być bardzo duże.Maksymalna ilość danych i obciążenie, które znajduje się w jednym wierszu strona jest 8,060 bajtów (8 KB).Jednak nie dotyczy danych przechowywanych w typ tekstu/obrazu strona.To ograniczenie jest złagodzone dla tabel, które zawierają varchar, nvarchar, varbinary, lub sql_variant kolumny. Gdy rozmiar wiersza sumy wszystkich kolumn stałych i zmiennych w tabela przekracza ograniczenia 8,060 bajt SQL Server dynamicznie Przenosi jeden lub więcej kolumn o zmiennej długości do stron w ROW_OVERFLOW_DATA jednostka alokacji, wyjścia z kolumna do szerokości największej. Można to zrobić za każdym razem, gdy operacja aktualizacji lub wstawienia zwiększa całkowity rozmiar wiersza powyżej limitu 8060 bajtów.Gdy kolumna zostanie przeniesiony na inną strona w jednostce alokacji ROW_OVERFLOW_DATA, 24-bajtowy wskaźnik na oryginalnej stronie w jednostce alokacji IN_ROW_DATA jest zachowywane.Jeśli kolejnej operacji zmniejsza rozmiar wiersza SQL Server dynamicznie przenoszony w kolumnach do oryginalnej strona danych. Aby uzyskać więcej informacji zobaczRow-Overflow Data Exceeding 8 KB.
Zakresy
Zakresy są podstawową jednostką, w której obszar jest zarządzany.fragment jest osiem stron fizycznie ciągłe lub 64 KB.Oznacza to, że SQL Server bazy danych ma 16 zakresów w jednym megabajcie.
To make its space allocation efficient, SQL Server does not allocate whole extents to tables with small amounts of data.SQL Server has two types of extents:
Jednolite fragment s będące własnością pojedynczy obiekt, wszystkie osiem stron w fragment mogą być używane tylko przez obiekt stronie.
Mieszane zakresy są współużytkowane przez maksymalnie osiem obiektów.Każdej z ośmiu stron w zakresie może być własnością innego obiektu.
Nowej tabela lub indeks jest zazwyczaj przydzielane stron z mieszanych zakresów.Jeśli tabela lub indeksu powiększa się do punktu, czy jest osiem stron, go następnie przełącza na używać jednolitego zakresy dla kolejnych alokacji.Jeśli tworzysz indeks w istniejącej tabela, który ma wystarczająco dużo wierszy, aby wygenerować osiem stron w indeksie, wszystkie przydziały do indeksu znajdują się w jednolity zakresów.
See Also