sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)

Gilt für:SQL Server

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.

Hinweis

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Verwenden Sie stattdessen ZEILEN- und PAGE-Komprimierung. Weitere Informationen finden Sie unter Data Compression. Komprimierungseffekte für die Größe von Tabellen und Indizes finden Sie unter sp_estimate_data_compression_savings (Transact-SQL).

Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

[ @table = ] 'table' Ist der dreiteilige Name der Tabelle, für die das Speicherformat geändert werden soll. Tabelle ist nvarchar(776).

Rückgabecodewerte

„0“ (erfolgreich) oder „1“ (fehlerhaft)

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 Dezimalzahl (12, 2) Stellt die Länge der Zeile im festen Dezimalspeicherformat dar.
avg_rowlen_vardecimal_format Dezimalzahl (12, 2) Stellt die durchschnittliche Zeilengröße dar, wenn das vardecimal-Speicherformat verwendet wird.
row_count int Anzahl der Zeilen in der Tabelle

Hinweise

Verwenden Sie sp_estimated_rowsize_reduction_for_vardecimal , um die Einsparungen zu schätzen, die sich ergeben, 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 angeben, dass die Tabelle vergrößert wird, bedeutet dies, dass viele Zeilen in der Tabelle fast die gesamte Genauigkeit der Dezimaldatentypen verwenden, und das Hinzufügen des kleinen Aufwands, der für das Vardecimal-Speicherformat erforderlich ist, ist größer als die Einsparungen aus dem 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 zu schätzen, wenn das Vardecimal-Speicherformat deaktiviert ist.

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 AdventureWorks2022-Datenbank komprimiert wird.

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

Weitere Informationen

sp_db_vardecimal_storage_format (Transact-SQL)
sp_tableoption (Transact-SQL)