Freigeben über


sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)

Schätzt die Verringerung der durchschnittlichen Zeilengröße ab, wenn Sie das vardecimal-Speicherformat für eine Tabelle aktivieren. 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 ab SQL Server 2005, Service Pack 2, nur in den SQL Server Enterprise, Developer und Evaluation Editions verfügbar.

HinweisHinweis

Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Verwenden Sie stattdessen die ROW-Komprimierung und die PAGE-Komprimierung. Weitere Informationen finden Sie unter Erstellen komprimierter Tabellen und Indizes. Informationen über die Auswirkung einer Komprimierung auf die Größe von Tabellen und Indizes finden Sie unter sp_estimate_data_compression_savings (Transact-SQL).

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

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 % verringert werden kann, können Sie die Größe der Tabelle potenziell um 40 % 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 % verringern, passt weiterhin nur eine Zeile auf eine Datenseite, was zu keiner Einsparung führt.

Wenn die Ergebnisse 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 Dezimaldatentypen 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 die durchschnittliche Größe der Zeile abzuschätzen, 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