Share via


sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)

Estimará a redução do tamanho médio de linhas se você habilitar 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. O formato de armazenamento vardecimal está disponível apenas nas edições Enterprise, Developer e Evaluation do SQL Server, a partir do SQL Server 2005, Service Pack 2.

ObservaçãoObservação

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

Ícone de vínculo de tópicoConvenções de sintaxe 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. table é nvarchar(776).

Valores de 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 o aumento resultante se a tabela estiver habilitada para 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 significará que muitas linhas da tabela usam aproximadamente a precisão inteira dos tipos de dados decimais, e a adição da pequena sobrecarga necessária para formato de armazenamento vardecimal é maior do que o aumento obtido pelo formato de armazenamento vardecimal. Nesse caso raro, não habilite o formato de armazenamento vardecimal.

Se uma tabela estiver habilitada para 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 AdventureWorks estiver compactada.

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