Поделиться через


sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)

Область применения: SQL Server

Оценивает снижение среднего размера строк при включении формата хранилища vardecimal в таблице. С помощью этого числа можно вычислить общее уменьшение размера таблицы. Поскольку для вычисления среднего уменьшения размера строки используется статистическая выборка, это значение следует рассматривать только как приблизительное. В редких случаях размер строк может увеличиться после включения формата хранилища vardecimal .

Примечание.

Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте ROW и PAGE сжатие. Дополнительные сведения см. в разделе Сжатие данных. Сведения о влиянии сжатия на размер таблиц и индексов см . в sp_estimate_data_compression_savings.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @table_name = ] N'table_name'

Три части таблицы, для которой необходимо изменить формат хранилища. @table_name — nvarchar(776), без значения по умолчанию.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

Приведенный ниже результирующий набор содержит сведения о текущем и вычисленном размере таблицы.

Имя столбца Тип данных Description
avg_rowlen_fixed_format десятичная (12,2) Представляет длину строки в формате хранения fixed decimal.
avg_rowlen_vardecimal_format десятичная (12,2) Представляет средний размер строк при использовании формата хранилища vardecimal .
row_count int Количество строк в таблице.

Замечания

Используйте sp_estimated_rowsize_reduction_for_vardecimal для оценки экономии, которая приведет к включению таблицы для формата хранилища vardecimal . Например, если средний размер строки можно уменьшить на 40%, то размер самой таблицы также можно потенциально уменьшить на 40%. Вы можете не получить экономию места в зависимости от коэффициента заполнения и размера строки. Например, если у вас есть строка размером 8 000 байтов, а ее размер уменьшается на 40 %, вы по-прежнему можете поместить только одну строку на странице данных, что приведет к отсутствии экономии.

Если результаты sp_estimated_rowsize_reduction_for_vardecimal показывают, что таблица может расти, многие строки в таблице используют почти всю точность десятичных типов данных, а добавление небольших затрат, необходимых для формата хранения 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