共用方式為


sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)

新增: 2006 年 12 月 12 日

預估資料列平均大小的縮減 (如果資料表上已啟用 Vardecimal 儲存格式的話)。您可以使用這個數字來預估資料表大小的整體縮減。由於統計資料取樣是用來計算資料列大小的平均縮減,所以請將它當做預估就好。在少數情況下,當您啟用 Vardecimal 儲存格式時,資料列大小可能會增加。Vardecimal 儲存格式僅適用於 SQL Server 2005 Enterprise Edition、Developer Edition 和 Evaluation Edition。

語法

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

引數

  • [ @table= ] 'table'
    這是即將變更儲存格式之資料表的三部分名稱。tablenvarchar(776)

傳回碼值

0 (成功) 或 1 (失敗)

結果集

系統會傳回下列結果集,以便提供目前和預估資料表大小的相關資訊。

資料行名稱 資料類型 描述

avg_rowlen_fixed_format

decimal (12, 2)

以自動設定小數點儲存格式表示資料列的長度。

avg_rowlen_vardecimal_format

decimal (12, 2)

表示使用 Vardecimal 儲存格式時的平均資料列大小。

row_count

int

資料表中的資料列數。

備註

如果您啟用資料表的 Vardecimal 儲存格式,就可以使用 sp_estimated_rowsize_reduction_for_vardecimal 來預估產生的節省空間。例如,如果資料列的平均大小可縮減 40%,您就可能會將資料表的大小縮減 40%。根據填滿因數和資料列的大小而定,您可能無法節省空間。例如,如果您有一個長度為 8000 個位元組的資料列,而且將它的大小縮減 40%,則仍然只能在資料頁面上容納單一資料列。無法節省任何空間。

如果執行 sp_estimated_rowsize_reduction_for_vardecimal 的結果指出資料表將會成長,就表示資料表中的許多資料列都使用 decimal 資料類型的幾乎完整有效位數,而且 Vardecimal 儲存格式所需的小型負擔增加會比 Vardecimal 儲存格式的空間節省更大。在這種少數情況下,請勿啟用 Vardecimal 儲存格式。

如果資料表已啟用 Vardecimal 儲存格式,請使用 sp_estimated_rowsize_reduction_for_vardecimal 來預估停用 Vardecimal 儲存格式之後資料列的平均大小。

權限

需要資料表的 CONTROL 權限。

範例

下列範例會預估資料列大小縮減 (如果 AdventureWorks 資料庫中的 Production.WorkOrderRouting 資料表進行壓縮的話)。

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

請參閱

參考

sp_db_vardecimal_storage_format (Transact-SQL)
sp_tableoption (Transact-SQL)
Database Engine 預存程序 (Transact-SQL)

其他資源

將十進位資料儲存成可變長度

說明及資訊

取得 SQL Server 2005 協助