估计堆的大小.doc_第1页
估计堆的大小.doc_第2页
估计堆的大小.doc_第3页
估计堆的大小.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

估计堆的大小 可以使用以下步骤估计在堆中存储数据所需的空间量:1. 指定表中显示的行数: Num_Rows = 表中的行数2. 指定固定长度和可变长度列的数量,并计算存储所需的空间:计算每组列在数据行中所占据的空间。列的大小取决于数据类型和长度说明。有关详细信息,请参阅 数据类型(数据库引擎)。 Num_Cols = 总列数(固定长度和可变长度)Fixed_Data_Size = 所有固定长度列的总字节大小Num_Variable_Cols = 可变长度列的数量Max_Var_Size = 所有可变长度列的最大字节大小3. 保留行中称为空位图的部分以管理列的为空性。计算大小: Null_Bitmap = 2 + (Num_Cols + 7) / 8)只应使用该表达式的整数部分。而去掉其余部分。 4. 计算可变长度数据的大小:如果表中有可变长度列,请确定在行中存储这些列需使用的空间: Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size 此公式假设所有可变长度列均百分之百充满。如果预计可变长度列占用的存储空间比例较低,则可以按照该比例调整 Max_Var_Size 值,从而对整个表大小得出一个更准确的估计。 如果没有可变长度列,请将 Variable_Data_Size 设置为 0。 5. 计算总的行大小: Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4 公式中的值 4 是数据行的行标题开销。6. 下一步,计算每页的行数(每页有 8096 可用字节): Rows_Per_Page = 8096 / (Row_Size + 2)因为行不跨页,所以每页的行数应向下舍入到最接近的整数。 公式中的数值 2 是计算行数时引入的行大小余量。7. 计算存储所有行所需的页数: Num_Pages = Num_Rows / Rows_Per_Page 估计的页数应向上舍入到最接近的整数。 8. 计算在堆中存储数据所需的空间量(每页的总字节为 8192): 堆大小(字节)= 8192 x Num_Pages 此计算不考虑以下因素: 分区 分区的空间开销很小,但是计算复杂。是否包括它并不重要。 分配页至少有一个 IAM 页用于跟踪为堆分配的页,但是空间开销很小,并且没有算法可以精确地计算出要使用的 IAM 页数。 大型对象 (LOB) 值具体确定需要多少空间来存储 LOB 数据类型(varchar(max)、varbinary(max)、nvarchar(max)、text、ntext

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论