sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)

Neu: 12. Dezember 2006

Schätzt die Verringerung der durchschnittlichen Zeilengröße ab, wenn die Aktivierung des vardecimal-Speicherformats für eine Tabelle aktiviert ist. Verwenden Sie diese Zahl, um die Gesamtverringerung der Tabellengröße abzuschätzen. Da zur Berechnung der durchschnittlichen Verringerung der Zeilengröße die Stichprobenuntersuchung verwendet wird, betrachten Sie dies nur als Schätzung. In seltenen Fällen kann sich die Zeilengröße erhöhen, nachdem Sie das vardecimal-Speicherformat aktiviert haben. Das vardecimal-Speicherformat ist nur in den Editionen SQL Server 2005 Enterprise, Developer und Evaluation verfügbar.

Syntax

sp_estimated_rowsize_reduction_for_vardecimal [ [ @table_name = ] 'table' ] [;]

Argumente

  • [ @table= ] 'table'
    Der dreiteilige Name der Tabelle, für die das Speicherformat geändert wird. table entspricht nvarchar(776).

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Das folgende Resultset wird zurückgegeben, damit Informationen zur aktuellen und geschätzten Tabellengröße bereitgestellt werden.

Spaltenname Datentyp Beschreibung

avg_rowlen_fixed_format

decimal (12, 2)

Stellt die Länge der Zeile im festen Dezimalspeicherformat dar.

avg_rowlen_vardecimal_format

decimal (12, 2)

Stellt die durchschnittliche Zeilengröße dar, wenn das vardecimal-Speicherformat verwendet wird.

row_count

int

Anzahl der Zeilen in der Tabelle

Hinweise

Mit sp_estimated_rowsize_reduction_for_vardecimal können Sie die Einsparungen abschätzen, die entstehen, wenn Sie eine Tabelle für das vardecimal-Speicherformat aktivieren. Wenn beispielsweise die durchschnittliche Größe der Zeile um 40 Prozent verringert werden kann, können Sie die Größe der Tabelle potenziell um 40 Prozent verringern. Möglicherweise erhalten Sie keine Platzeinsparung; dies hängt vom Füllfaktor und von der Zeilengröße ab. Wenn es sich beispielsweise um eine Zeile handelt, die 8000 Bytes lang ist, und Sie die Größe um 40 Prozent verringern, passt weiterhin nur eine Zeile auf eine Datenseite. Dabei wird kein Platz gespart.

Wenn die Ergebnisse der Ausführung von sp_estimated_rowsize_reduction_for_vardecimal darauf hindeuten, dass sich die Tabelle vergrößert, bedeutet dies, dass für viele Zeilen in der Tabelle fast die gesamte Genauigkeit der decimal-Datentypen verwendet wird, und der geringe zusätzliche Verarbeitungsaufwand für das vardecimal-Speicherformat ist größer als die Einsparungen durch das vardecimal-Speicherformat. Aktivieren Sie in diesem seltenen Fall das vardecimal-Speicherformat nicht.

Wenn eine Tabelle für das vardecimal-Speicherformat aktiviert ist, verwenden Sie sp_estimated_rowsize_reduction_for_vardecimal, um abzuschätzen, welchem Wert die durchschnittliche Größe der Zeile entsprechen würde, wenn das vardecimal-Speicherformat deaktiviert wird.

Berechtigungen

Erfordert die CONTROL-Berechtigung für die Tabelle.

Beispiele

Im folgenden Beispiel wird die Verringerung der Zeilengröße abgeschätzt, wenn die Production.WorkOrderRouting-Tabelle in der AdventureWorks-Datenbank komprimiert wird.

USE AdventureWorks
GO
EXEC sp_estimated_rowsize_reduction_for_vardecimal 'Production.WorkOrderRouting' ;
GO

Siehe auch

Verweis

sp_db_vardecimal_storage_format (Transact-SQL)
sp_tableoption (Transact-SQL)
Gespeicherte Prozeduren für das Datenbankmodul (Transact-SQL)

Andere Ressourcen

Speichern von Dezimaldaten als Daten variabler Länge

Hilfe und Informationen

Informationsquellen für SQL Server 2005