Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede usar los pasos siguientes para calcular la cantidad de espacio necesario para almacenar datos en un montón:
Especifique el número de filas que estarán presentes en la tabla:
Num_Rows = número de filas de la tabla
Especifique el número de columnas de longitud fija y de longitud variable y calcule el espacio necesario para su almacenamiento:
Calcule el espacio que ocupa cada uno de estos grupos de columnas dentro de la fila de datos. El tamaño de una columna depende del tipo de datos y la especificación de longitud.
Num_Cols = número total de columnas (longitud fija y longitud variable)
Fixed_Data_Size = tamaño total de bytes de todas las columnas de longitud fija
Num_Variable_Cols = número de columnas de longitud variable
Max_Var_Size = tamaño máximo total de bytes de todas las columnas de longitud variable
Parte de la fila, conocida como mapa de bits NULL, está reservada para administrar la nulabilidad de las columnas. Calcule su tamaño:
Null_Bitmap = 2 + ((Num_Cols + 7) / 8)
Solo se debe usar la parte entera de esta expresión. Descarte cualquier resto.
Calcule el tamaño de los datos de longitud variable:
Si hay columnas de longitud variable en la tabla, determine cuánto espacio se usa para almacenar las columnas dentro de la fila:
Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size
Los bytes agregados a Max_Var_Size son para realizar un seguimiento de cada columna de longitud variable. En esta fórmula se supone que todas las columnas de longitud variable están llenas al 100 %. Si prevé que se usará un porcentaje menor del espacio de almacenamiento de columnas de longitud variable, puede ajustar el valor de Max_Var_Size por ese porcentaje para producir una estimación más precisa del tamaño general de la tabla.
Nota:
Puede combinar
varcharcolumnas ,nvarchar,varbinaryosql_variantque hacen que el ancho de tabla definido total supere los 8060 bytes. La longitud de cada una de estas columnas todavía debe estar dentro del límite de 8000 bytes para unavarcharcolumna ,nvarchar,``varbinaryosql_variant. Sin embargo, sus anchos combinados pueden superar el límite de 8060 bytes en una tabla.Si no hay ninguna columna de longitud variable, establezca Variable_Data_Size en 0.
Calcule el tamaño total de fila:
Tamaño_de_Fila = Tamaño_de_Datos_Fijos + Tamaño_de_Datos_Variable + Null_Bitmap + 4
El valor 4 de la fórmula es la sobrecarga de encabezado de fila de la fila de datos.
Calcule el número de filas por página (8096 bytes libres por página):
Rows_Per_Page = 8096 / (Row_Size + 2)
Dado que las filas no abarcan páginas, el número de filas por página debe redondearse hacia abajo hasta la fila completa más cercana. El valor 2 de la fórmula es para la entrada de la fila en la matriz de ranuras de la página.
Calcule el número de páginas necesarias para almacenar todas las filas:
Num_Pages = Num_Rows / Rows_Per_Page
El número de páginas estimadas debe redondearse hasta la página completa más cercana.
Calcule la cantidad de espacio necesario para almacenar los datos en el montón (8192 bytes totales por página):
Tamaño del montón (bytes) = 8192 x Num_Pages
Este cálculo no tiene en cuenta lo siguiente:
Partición
La sobrecarga de espacio de la creación de particiones es mínima, pero compleja de calcular. No es importante incluir.
Páginas de asignación
Hay al menos una página de IAM que se usa para realizar un seguimiento de las páginas asignadas a un montón, pero la sobrecarga del espacio es mínima y no hay ningún algoritmo para calcular exactamente cuántas páginas IAM se usarán.
Valores de objetos grandes (LOB)
El algoritmo para determinar exactamente cuánto espacio se usará para almacenar los tipos de datos LOB
varchar(max),varbinary(max),nvarchar(max),text, ntextxml, yimagevalores es complejo. Basta con agregar el tamaño medio de los valores LOB esperados y agregarlo al tamaño total del montón.Compresión
No se puede calcular previamente el tamaño de un montón comprimido.
Columnas dispersas
Para obtener información sobre los requisitos de espacio de las columnas dispersas, vea Usar columnas dispersas.
Véase también
Montones (Tablas sin índices agrupados)
Índices agrupados y no agrupados descritos
Creación de índices agrupados
Creación de índices no clúster
Calcular el tamaño de una tabla
Estimar el tamaño de un índice clúster
Estimar el tamaño de un índice no clúster
Estimar el tamaño de una base de datos