估計表的大小
下列步驟可用於估計儲存表中的資料所需的空間量。
指定表中的行數:
表中的行數= 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 表示資料行首結構。
下一步,計算每頁的行數(每頁有8096 可用位元組):
每頁的行數(rows_per_page) = ( 8096 ) / (row_size + 2)
因為行不跨頁,所以每頁的行數應向下舌入到最接近的整數。
如果要在表上建立聚集索引,那麼要根據指定的填充因子計算每頁保留的可用行數。有關更多資訊,請參見填充因子
。如果不建立聚集索引,請將fill_factor 指定為100。
每頁的可用行數(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):
表大小(位元組)= 8192 x num_pages
估計表的大小(一)
估計表的大小 下列步驟可用於估計儲存表中的資料所需的空間量。指定表中的行數 表中的行數 num rows 如果在表的定義中有固定長度和可變長度列,請計算資料行中這兩組列的每一組所占用的空間。列的大小取決於資料型別和長度說明。有關更多資訊,請參見資料型別 列數 num cols 所有固定長度列中的位元...
估計表的大小(一)
估計表的大小 下列步驟可用於估計儲存表中的資料所需的空間量。指定表中的行數 表中的行數 num rows 如果在表的定義中有固定長度和可變長度列,請計算資料行中這兩組列的每一組所占用的空間。列的大小取決於資料型別和長度說明。有關更多資訊,請參見資料型別 列數 num cols 所有固定長度列中的位元...
估計表的大小(一)
估計表的大小 下列步驟可用於估計儲存表中的資料所需的空間量。指定表中的行數 表中的行數 num rows 如果在表的定義中有固定長度和可變長度列,請計算資料行中這兩組列的每一組所占用的空間。列的大小取決於資料型別和長度說明。有關更多資訊,請參見資料型別 列數 num cols 所有固定長度列中的位元...