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çã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). |
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
Consulte também