下列步骤可用于估计存储表中的数据所需的空间量。
表中的行数 = Num_Rows
列数 = Num_Cols
所有固定长度列中的字节总和 = Fixed_Data_Size
可变长度列数 = Num_Variable_Cols
所有可变长度列的最大值 = Max_Var_Size
空位图 (Null_Bitmap) = 2 + (( Num_Cols + 7) / 8 )
仅使用上述表达式中的整数部分,而去掉其余部分。
可变长度列的总大小 (Variable_Data_Size) = 2 + (Num_Variable_Cols x 2) + Max_Var_Size
如果没有可变长度列,请将 Variable_Data_Size 设置为 0。
此公式假设所有可变长度列均百分之百充满。如果预计可变长度列占用的存储空间比例较低,则可以按照该比例调整结果以对整个表大小得出一个更准确的估计。
行总大小 (Row_Size) = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap +4
最后一个值 4 表示数据行首结构。
每页的行数 (Rows_Per_Page) = ( 8096 ) / (Row_Size + 2)
因为行不跨页,所以每页的行数应向下舌入到最接近的整数。
每页的可用行数 (Free_Rows_Per_Page) = 8096 x ((100 - Fill_Factor) / 100) / (Row_Size + 2)
计算中使用的填充因子为整数值,而不是百分数。
因为行不跨页,所以每页的行数应向下舍入到最接近的整数。填充因子增大时,每页将存储更多的数据,因此页数将减少。
页数 (Num_Pages) = Num_Rows / (Rows_Per_Page - Free_Rows_Per_Page)
估计的页数应向上舍入到最接近的整数。
表大小(字节)= 8192 x Num_Pages