sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)
適用対象:SQL Server
テーブルで vardecimal ストレージ形式を有効にした場合、行の平均サイズの削減を見積もります。 この数値を使用して、テーブル サイズ全体の削減量を見積もることができます。 統計サンプリングは、行サイズの平均減少を計算するために使用されるため、推定値のみと見なします。 vardecimal ストレージ形式を有効にした後、まれに行サイズが増加する場合があります。
Note
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに ROW 圧縮と PAGE 圧縮を使用してください。 詳細については、「 Data Compression」を参照してください。 テーブルとインデックスのサイズに対する圧縮効果については、「sp_estimate_data_compression_savings (Transact-SQL)」を参照してください。
構文
sp_estimated_rowsize_reduction_for_vardecimal [ [ @table_name = ] 'table'] [;]
引数
[ @table = ] 'table'
ストレージ形式を変更するテーブルの 3 つの部分名を指定します。 table is nvarchar(776).
リターン コードの値
0 (成功) または 1 (失敗)
結果セット
次の結果セットが返され、現在のテーブル サイズと推定されるテーブル サイズの情報が提供されます。
列名 | データ型 | 説明 |
---|---|---|
avg_rowlen_fixed_format | decimal (12, 2) | 固定 10 進ストレージ形式で行の長さを表します。 |
avg_rowlen_vardecimal_format | decimal (12, 2) | vardecimal ストレージ形式が使用されている場合の平均行サイズを表します。 |
row_count | int | テーブルに含まれる行の数です。 |
解説
vardecimal ストレージ形式のテーブルを有効にした場合、sp_estimated_rowsize_reduction_for_vardecimalを使用して結果の節約額を見積もります。 たとえば、行の平均サイズを 40% 小さくできる場合、テーブルのサイズを 40% 小さくすることができます。 ただし FILL FACTOR と行サイズによっては、テーブル領域を削減できない場合もあります。 たとえば、長さ 8,000 バイトの行があり、そのサイズを 40% を削減したとしても、データ ページに収まるのは 1 行のみであることに変わりはないので、領域は削減されません。
sp_estimated_rowsize_reduction_for_vardecimal結果、テーブルが大きくなることが示された場合、テーブル内の多くの行で 10 進データ型のほぼ完全な精度が使用され、vardecimal ストレージ形式に必要な小さなオーバーヘッドの追加が、vardecimal ストレージ形式からの節約よりも大きくなります。 このまれなケースでは、vardecimal ストレージ形式を有効にしないでください。
テーブルで vardecimal ストレージ形式が有効になっている場合は、sp_estimated_rowsize_reduction_for_vardecimalを使用して、vardecimal ストレージ形式が無効になっている場合に行の平均サイズを見積もります。
アクセス許可
テーブルに対する CONTROL 権限が必要です。
例
次の例では、データベース内のテーブルが圧縮されている場合に Production.WorkOrderRouting
、行サイズの削減を AdventureWorks2022
見積もります。
USE AdventureWorks2022;
GO
EXEC sp_estimated_rowsize_reduction_for_vardecimal 'Production.WorkOrderRouting' ;
GO
参照
sp_db_vardecimal_storage_format (Transact-SQL)
sp_tableoption (Transact-SQL)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示