Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
System Platform Analitycznych (PDW)
Baza danych SQL w Microsoft Fabric
Poniższe kroki umożliwiają oszacowanie ilości miejsca wymaganego do przechowywania danych w stercie:
Określ liczbę wierszy, które będą obecne w tabeli:
- Num_Rows = liczba wierszy w tabeli
Określ liczbę kolumn o stałej długości i zmiennej długości oraz oblicz miejsce wymagane dla ich magazynu:
Oblicz przestrzeń zajmowaną przez każdą z tych grup kolumn w wierszu danych. Rozmiar kolumny zależy od typu danych i specyfikacji długości.
- Num_Cols = całkowita liczba kolumn (o stałej długości i zmiennej długości)
- Fixed_Data_Size = całkowity rozmiar bajtów wszystkich kolumn o stałej długości
- Num_Variable_Cols = liczba kolumn o zmiennej długości
- Max_Var_Size = maksymalny całkowity rozmiar bajtów wszystkich kolumn o zmiennej długości
Część wiersza, znana jako mapa bitowa null, jest zarezerwowana do zarządzania nullowalnością kolumn. Oblicz jego rozmiar:
- Null_Bitmap = 2 + ((Num_Cols + 7) / 8)
Należy użyć tylko części całkowitej tego wyrażenia. Odrzuć resztę.
Oblicz rozmiar danych o zmiennej długości:
Jeśli w tabeli znajdują się kolumny o zmiennej długości, określ, ile miejsca jest używane do przechowywania kolumn w wierszu:
- Rozmiar_Danych_Zmiennych = 2 + (Liczba_Kolumn_Zmiennych x 2) + Maks_Rozmiar_Zmiennej
Bajty dodane do Max_Var_Size służą do śledzenia każdej kolumny o zmiennej długości. W tej formule przyjęto założenie, że wszystkie kolumny o zmiennej długości są pełne o 100%. Jeśli przewidujesz, że zostanie użyty mniejszy procent miejsca do magazynowania w kolumnie o zmiennej długości, możesz dostosować wartość Max_Var_Size o ten procent, aby uzyskać dokładniejsze oszacowanie ogólnego rozmiaru tabeli.
Note
Można połączyć varchar, nvarchar, varbinarylub kolumny sql_variant, które powodują, że łączna zdefiniowana szerokość tabeli przekroczy 8060 bajtów. Długość każdej z tych kolumn musi nadal mieścić się w granicach 8000 bajtów dla kolumny varchar, nvarchar, varbinarylub sql_variant. Jednak ich połączone szerokości mogą przekraczać limit 8060 bajtów w tabeli.
Jeśli nie ma kolumn o zmiennej długości, ustaw wartość Variable_Data_Size na 0.
Oblicz całkowity rozmiar wiersza:
- = Row_Size + Fixed_Data_Size + Variable_Data_SizeNull_Bitmap + 4
Wartość 4 w formule to nagłówek wiersza, który jest narzutem dla wiersza danych.
Oblicz liczbę wierszy na stronę (8096 wolnych bajtów na stronę):
- Rows_Per_Page = 8096 / (Row_Size + 2)
Ponieważ wiersze nie obejmują stron, liczba wierszy na stronę powinna być zaokrąglona w dół do najbliższego całego wiersza. Wartość 2 w formule odpowiada wpisowi wiersza w tablicy slotów strony.
Oblicz liczbę stron wymaganych do przechowywania wszystkich wierszy:
- Liczba_Str = Liczba_Wierszy / Wiersze_Na_Str
Liczba szacowanych stron powinna być zaokrąglona do najbliższej całej strony.
Oblicz ilość miejsca wymaganego do przechowywania danych w stercie (8192 całkowita liczba bajtów na stronę):
Rozmiar sterty (bajty) = 8192 x Num_Pages
To obliczenie nie uwzględnia następujących warunków:
Partycjonowanie: obciążenie związane z partycjonowaniem jest minimalne, ale złożone do obliczenia. Nie jest ważne, aby uwzględnić.
Strony alokacji: istnieje co najmniej jedna strona IAM używana do śledzenia stron przydzielonych do sterty, ale obciążenie przestrzeni jest minimalne i nie ma algorytmu deterministycznego obliczania dokładnie liczby stron IAM.
Wartości dużych obiektów (LOB): algorytm określający dokładnie, ile miejsca będzie używane do przechowywania typów danych LOB varchar(max), varbinary(max), nvarchar(max), nvarchar(max), text, ntextxml i wartości obrazów są złożone. Wystarczy dodać średni rozmiar oczekiwanych wartości LOB i dodać go do całkowitego rozmiaru sterty.
Kompresja: nie można wstępnie obliczyć rozmiaru skompresowanej sterty.
Kolumny rozrzedłe: aby uzyskać informacje o wymaganiach dotyczących miejsca w rozrzednych kolumnach, zobacz Używanie kolumn rozrzednych.