sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)

Aplica-se a:SQL Server

Estimará a redução do tamanho médio das linhas se você habilitar o formato de armazenamento vardecimal em uma tabela. Use este número para estimar a redução global do tamanho da tabela. Como a amostragem estatística é usada para calcular a redução média do tamanho da linha, considere-a apenas como uma estimativa. Em casos raros, o tamanho da linha pode aumentar após o formato de armazenamento vardecimal ser habilitado.

Observação

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Em vez disso, use a compactação ROW e PAGE. Para saber mais, veja Data Compression. Para efeitos de compactação no tamanho de tabelas e índices, consulte sp_estimate_data_compression_savings (Transact-SQL).

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

[ @table = ] 'table' É o nome de três partes da tabela para a qual o formato de armazenamento deve ser alterado. tabela é nvarchar(776).

Valores do código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

O conjunto de resultados a seguir é retornado para fornecer informações de tamanho do banco de dados estimado e atual.

Nome da coluna Tipo de dados Descrição
avg_rowlen_fixed_format decimal (12, 2) Representa o comprimento da linha em formato de armazenamento decimal fixo.
avg_rowlen_vardecimal_format decimal (12, 2) Representa o tamanho médio da linha quando o formato de armazenamento vardecimal é usado.
row_count int Número de linhas na tabela.

Comentários

Use sp_estimated_rowsize_reduction_for_vardecimal para estimar a economia resultante se você habilitar uma tabela para o formato de armazenamento vardecimal. Por exemplo, se o tamanho médio da linha puder ser reduzido em 40%, potencialmente, você poderá reduzir o tamanho da tabela em 40%. Dependendo do fator de preenchimento e do tamanho da linha, um aumento de espaço poderá não ser obtido. Por exemplo, se você tiver uma linha de 8000 bytes de comprimento e reduzir seu tamanho em 40%, ainda poderá ajustar apenas uma linha em uma página de dados, resultando em nenhum aumento.

Se os resultados de sp_estimated_rowsize_reduction_for_vardecimal indicarem que a tabela crescerá, isso significa que muitas linhas na tabela usam quase toda a precisão dos tipos de dados decimais, e a adição da pequena sobrecarga necessária para o formato de armazenamento vardecimal é maior do que a economia do formato de armazenamento vardecimal. Nesse caso raro, não habilite o formato de armazenamento vardecimal.

Se uma tabela estiver habilitada para o formato de armazenamento vardecimal, use sp_estimated_rowsize_reduction_for_vardecimal para estimar o tamanho médio da linha se o formato de armazenamento vardecimal estiver desabilitado.

Permissões

Requer a permissão CONTROL na tabela.

Exemplos

O exemplo a seguir estimará a redução do tamanho da linha, se a tabela Production.WorkOrderRouting no banco de dados AdventureWorks2022 estiver compactada.

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

Confira também

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