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.
Hinweis |
---|
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). |
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