Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode usar as seguintes etapas para estimar a quantidade de espaço necessária para armazenar dados em um heap:
Especifique o número de linhas que estarão presentes na tabela:
Num_Rows = número de linhas na tabela
Especifique o número de colunas de comprimento fixo e de comprimento variável e calcule o espaço necessário para o armazenamento:
Calcule o espaço que cada um desses grupos de colunas ocupa dentro da linha de dados. O tamanho de uma coluna depende do tipo de dados e da especificação de comprimento.
Num_Cols = número total de colunas (comprimento fixo e comprimento variável)
Fixed_Data_Size = tamanho total de bytes de todas as colunas de comprimento fixo
Num_Variable_Cols = número de colunas de comprimento variável
Max_Var_Size = tamanho máximo total de bytes de todas as colunas de comprimento variável
Parte da linha, conhecida como bitmap nulo, é reservada para gerenciar a nulidade da coluna. Calcule seu tamanho:
Null_Bitmap = 2 + ((Num_Cols + 7) / 8)
Somente a parte inteira dessa expressão deve ser usada. Descarte qualquer restante.
Calcule o tamanho dos dados de comprimento variável:
Se houver colunas de comprimento variável na tabela, determine quanto espaço é usado para armazenar as colunas dentro da linha:
Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size
Os bytes adicionados a Max_Var_Size são para acompanhar cada coluna de comprimento variável. Essa fórmula pressupõe que todas as colunas de comprimento variável estejam 100% cheias. Se você prever que uma porcentagem menor do espaço de armazenamento de coluna de comprimento variável será usada, você poderá ajustar o valor Max_Var_Size por esse percentual para produzir uma estimativa mais precisa do tamanho geral da tabela.
Observação
Você pode combinar
varchar,nvarcharouvarbinarysql_variantcolunas que fazem com que a largura total da tabela definida exceda 8.060 bytes. O comprimento de cada uma dessas colunas ainda deve estar dentro do limite de 8.000 bytes para umavarchar,nvarchar,``varbinaryousql_variantcoluna. No entanto, suas larguras combinadas podem exceder o limite de 8.060 bytes em uma tabela.Se não houver colunas de comprimento variável, defina Variable_Data_Size como 0.
Calcule o tamanho total da linha:
Tamanho_da_Linha = Tamanho_dados_fixos + Tamanho_dados_variáveis + Mapa_de_nulos + 4
O valor 4 na fórmula é a sobrecarga do cabeçalho de linha da linha de dados.
Calcular o número de linhas por página (8.096 bytes gratuitos por página):
Rows_Per_Page = 8096 / (Row_Size + 2)
Como as linhas não abrangem páginas, o número de linhas por página deve ser arredondado para baixo até a linha inteira mais próxima. O valor 2 na fórmula é para a entrada da linha na matriz de slots da página.
Calcule o número de páginas necessárias para armazenar todas as linhas:
Num_Páginas = Num_Linhas / Linhas_Por_Página
O número de páginas estimadas deve ser arredondado para a página inteira mais próxima.
Calcule a quantidade de espaço necessária para armazenar os dados no heap (8.192 bytes totais por página):
Tamanho do heap (bytes) = 8192 x Num_Pages
Esse cálculo não considera o seguinte:
Particionamento
A sobrecarga de espaço do particionamento é mínima, mas complexa de calcular. Não é importante incluir.
Páginas de alocação
Há pelo menos uma página IAM usada para acompanhar as páginas alocadas para um heap, mas a sobrecarga de espaço é mínima e não há nenhum algoritmo para calcular deterministicamente exatamente quantas páginas IAM serão usadas.
Valores de LOB (Objeto Grande)
O algoritmo para determinar exatamente quanto espaço será usado para armazenar os tipos
varchar(max)de dados LOB,varbinary(max), ,nvarchar(max)textntextxml eimagevalores é complexo. É suficiente apenas adicionar o tamanho médio dos valores LOB esperados e adicioná-lo ao tamanho total do heap.Compactação
Não é possível calcular previamente o tamanho de um heap comprimido.
Colunas esparsas
Para obter informações sobre os requisitos de espaço de colunas esparsas, consulte Usar Colunas Esparsas.
Consulte Também
Heaps (Tabelas sem índices clusterizados)
Índices clusterizados e não clusterizados descritos
Criar índices clusterizados
Criar índices não clusterizados
Estimar o tamanho de uma tabela
Estimar o tamanho de um índice clusterizado
Estimar o tamanho de um índice não clusterizado
Estimar o tamanho de um banco de dados