Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit den folgenden Schritten können Sie den Speicherplatz schätzen, der zum Speichern von Daten in einem Heap erforderlich ist:
Geben Sie die Anzahl der Zeilen an, die in der Tabelle vorhanden sein werden:
Num_Rows = Anzahl der Zeilen in der Tabelle
Geben Sie die Anzahl der Spalten mit der festen und variablen Länge an und berechnen Sie den erforderlichen Speicherplatz für deren Speicherung.
Berechnen Sie den Abstand, den jede dieser Spaltengruppen innerhalb der Datenzeile einnimmt. Die Größe einer Spalte hängt vom Datentyp und der Längenangabe ab.
Num_Cols = Gesamtanzahl der Spalten (feste Länge und variable Länge)
Fixed_Data_Size = Gesamtbytegröße aller Spalten mit fester Länge
Num_Variable_Cols = Anzahl der Spalten mit variabler Länge
Max_Var_Size = maximale Gesamtbytegröße aller Spalten mit variabler Länge
Ein Teil der Zeile, der als NULL-Bitmap bezeichnet wird, ist für die Verwaltung der Spalten-Nullfähigkeit reserviert. Berechnen der Größe:
Null_Bitmap = 2 + ((Num_Cols + 7) / 8)
Es sollte nur der ganzzahlige Teil dieses Ausdrucks verwendet werden. Verwerfen Sie alle Restlichen.
Berechnen der Datengröße variabler Länge:
Wenn in der Tabelle Spalten mit variabler Länge vorhanden sind, bestimmen Sie, wie viel Platz zum Speichern der Spalten in der Zeile verwendet wird:
Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size
Die zu Max_Var_Size hinzugefügten Bytes dienen zum Nachverfolgen der einzelnen Spalten mit variabler Länge. Bei dieser Formel wird davon ausgegangen, dass alle Spalten mit variabler Länge 100 Prozent voll sind. Wenn Sie davon ausgehen, dass ein kleinerer Prozentsatz des Speicherplatzes für spaltenvariable Spalten verwendet wird, können Sie den Max_Var_Size Wert um diesen Prozentsatz anpassen, um eine genauere Schätzung der Gesamttabellengröße zu erzielen.
Hinweis
Sie können
varchar,nvarchar,varbinaryodersql_variantSpalten kombinieren, die dazu führen, dass die gesamte definierte Tabellenbreite 8.060 Bytes überschreitet. Die Länge jeder dieser Spalten darf den Grenzwert von 8.000 Bytes für einevarchar,nvarchar,``varbinaryodersql_variantSpalte nicht überschreiten. Ihre kombinierten Breiten können jedoch den Grenzwert von 8.060 Byte in einer Tabelle überschreiten.Wenn keine Spalten mit variabler Länge vorhanden sind, legen Sie Variable_Data_Size auf 0 fest.
Berechnen der Gesamtzeilengröße:
= Row_Size + Fixed_Data_Size + Variable_Data_SizeNull_Bitmap + 4
Der Wert 4 in der Formel ist der Kopfzeilen-Overhead der Datenzeile.
Berechnen sie die Anzahl der Zeilen pro Seite (8096 freie Bytes pro Seite):
Rows_Per_Page = 8096 / (Row_Size + 2)
Da Zeilen keine Seiten umfassen, sollte die Anzahl der Zeilen pro Seite auf die nächste ganze Zeile abgerundet werden. Der Wert 2 in der Formel steht für den Eintrag der Zeile im Slot-Array der Seite.
Berechnen Sie die Anzahl der Seiten, die zum Speichern aller Zeilen erforderlich sind:
= Num_Pages / Num_RowsRows_Per_Page
Die Anzahl der geschätzten Seiten sollte auf die nächste ganze Seite aufgerundet werden.
Berechnen Sie den Speicherplatz, der zum Speichern der Daten im Heap erforderlich ist (8192 Bytes pro Seite):
Heapgröße (Bytes) = 8192 x Num_Pages
Bei dieser Berechnung wird Folgendes nicht berücksichtigt:
Partitionierung
Der Speicherplatzaufwand bei der Partitionierung ist minimal, aber komplex zu berechnen. Es ist nicht wichtig, einzuschließen.
Zuordnungsseiten
Es gibt mindestens eine IAM-Seite, um die einem Heap zugeordneten Seiten nachzuverfolgen, aber der Platzaufwand ist minimal und es gibt keinen Algorithmus, um genau zu berechnen, wie viele IAM-Seiten verwendet werden.
Werte für große Objekte (LOB)
Der Algorithmus, der genau bestimmt, wie viel Speicherplatz verwendet wird, um die LOB-Datentypen
varchar(max), ,varbinary(max),nvarchar(max),textntextxml undimageWerte zu speichern, ist komplex. Es reicht aus, nur die durchschnittliche Größe der branchenspezifischen Werte hinzuzufügen, die erwartet werden, und dies zur Gesamthapgröße hinzuzufügen.Komprimierung
Sie können die Größe eines komprimierten Heaps nicht vorab berechnen.
Sparsespalten
Informationen zu den Platzanforderungen von Spalten mit geringem Abstand finden Sie unter Verwenden von Spalten mit sparse.for information about the space requirements of sparse columns, see Use Sparse Columns.
Siehe auch
Heaps (Tabellen ohne Cluster-Indizes)
Beschreibung von gruppierten und nicht gruppierten Indizes
Erstellen von gruppierten Indizes
Erstellen nicht gruppierter Indizes
Schätzen der Größe einer Tabelle
Schätzen der Größe eines gruppierten Indexes
Schätzen der Größe eines nicht gruppierten Indexes
Schätzen der Größe einer Datenbank