2011年(103)
分类: 数据库开发技术
2011-05-04 23:16:50
让我们首先了解一下PFS的页面管理字节的构造,管理单位为字节,每字节管理一个页面。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
页面是否分配 | 是否混合页面 | 是否IAM页面 | 是否幻影页面 | 空间利用率 |
第0个bit为保留字节,始终为0
第1个bit表示该页面是否已分配,我们知道GAM页用来管理区是否已分配,但一个区包含8个页面,所以用该bit用来准确定位该区的某个页面是否已分配出去了。
第2个bit表示该页面是否混合分区的一个页面。
第3个bit表示该页面是否是一个IAM页面。
第4个bit表示该页面中是否包含幻影或已删除记录,这有助于 定期清理幻影或已删除记录。
第5~7个页面表示该页面的空间使用率情况。
• 0:表示该页面为空
• 1:表示该页面已使用1~50%
• 2:表示该页面已使用51~80%
• 3:表示该页面已使用81~95%
• 4:表示该页面已使用96~100%
我们可以用dbcc page(testdb,1,1,2)来看一下PFS的页面结构,BUFFER和PAGE HEADER再次就不做详述了,PFS关于页面分配的信息是从第100个字节开始的,最后四个字节为系统保留字节,总计管理8088页。
其中头四页均为44,换算成2进制即0100 0100,即为未分配(大概为保留页的缘故),且为已分配完成的混合区或统一类型区,非IAM页,且无幻影记录,空间利用率96~100%。