PFS(Page Free
Space),也叫页面自由空间,该页面用来跟踪一个文件中每一个特定的页面的利用率情况。一个文件中第二个页面(页码1)就是PFS页面,该页面的每个
字节都记录了相应页面的分配情况、页面类型、是否IAM页、是否包含删除记录、以及空间利用率信息;PFS能够管理和跟踪8088个页面的使用情况,即接
近64M的空间,以后每8088个页面将再出现一次。
让我们首先了解一下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表示该页面中是否包含幻影或已删除记录,这有助于SQL Server定期清理幻影或已删除记录。
第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%。
#div_code img { border: 0px none; }
4F09C060: 00009c1f
44444444
00004444
60647060
†....DDDD..DD`dp`
4F09C070:
74706070
60606060
60707060
40404040
†tp`p`````pp`@@@@
4F09C080:
40404040
61706070
60606070
60306060
†@@@@ap`p```p`
0
``
4F09C090:
60217024
60706060
60606060
40203020
†`!p$`p``````@
0
4F09C0A0:
20202820
60606060
60606070
60606060
†( ```````p````
4F09C0B0:
70203020
30706070
70607060
70203060
†p
0
0p`pp`p`p
0
`
4F09C0C0:
70203068
70607060
70607060
70607060
†p 0hp`p`p`p`p`p`
4F09C0D0:
70203060
60602020
60702030
20306070
†p
0
````p
0
0
`p
4F09C0E0:
60702830
60707070
60606070
60706070
†`p(
0
`ppp```p`p`p
4F09C0F0:
60706070
40404020
20202020
60706070
†`p`p@@@ `p`p
4F09C100:
60706060
64616070
60706070
60706070
†`p``da`p`p`p`p`p
4F09C110:
60700000
00000000
00000000
00000000
†`p..............
4F09C120:
00000000
00000000
00000000
00000000
†................
4F09DFF0:
00000000
00000000
00000000
00006000
†..............`.
最后让我们用Internals Viewer插件看一下PFS页的全貌吧。
第七个页面(页码6)被称为差异变更(Differential Changed Map,DCM)页面。它跟踪一个文件中的哪一个区在最新一次完全数据库备份以后被修改过。SQL Server用在增量备份时只对已发生数据变更的分区进行增量备份即可。
第八个页面(页码7)被称为批量更改映射(Bulk Changed
Map,BCM)页面,该页面当文件中的一个区在最小量或批量记日志操作中被使用时用到。就像GAM和SGAM页面,DCM和BCM页面针对它们代表的文
件区间中每一个区都有一个比特位相对应。这些页面的常规间距为511 230个页面。
此外关于数据库在进行DML操作如何寻找合适的分区和页面对数据进行处理还是留待后续介绍吧。
分享到:
相关推荐
SQL Server 2008存储结构——GAM和SGAM、PFS结构、IAM结构、DCM&BCM;
SQLSERVER2008存储结构二_GAM、SGAM、PFS、IAM、DCM、BCM.doc
极佳SQL数据库修复大师10.0,支持MSSQL 7.0 2000 2005 2008 2008R2 2012 2014 2016 2017 支持各种ERP数据库 金蝶 速达 用友 管家婆等等基于MSSQL数据库。支持数据库无法附加 报错等故障。 支持 各种版本SQL数据库...
这会从整体上大幅度提高你的工作量(性能),因为SQL Server不需要访问内存里的特定页(PFS,GAM,SGAM),经常访问这些页在工作量大的情况下会引起加锁竞争(Latch Contention)。Paul White有一篇很棒的文章详细...
修复SQL数据库的好东东呀,可以对提示数据有一致性错误等情况进行修复
Dell_PFS_Extract,戴尔DELL bios提取工具
root.pfs
SQL Server tempdb分配竞争算是DBA老生常谈的问题了,几乎现在所有的DBA都知道多建几个文件来解决/缓解问题.但是深层次的的竞争依旧不可避免.这里给大家剖析下游标在tempdb中的特点使其在一定场景下替代临时表/表变量...
Dell_PFS_Extract v3.6戴尔DELL bios提取工具
pfSense uses ALTQ for its QoS which applies to the outgoing traffic on an interface. This means that if you have 2 interfaces LAN/WAN and an internet connection of Up 256Kb/s and Down 1Mb/s than the ...
麦克维尔PFS安装维护手册
修复SQL2000数据库置疑时出现的错误
pfs lane matlab code
PFS154 datasheet_v105_CN_20200609.pdf
游戏源码,代码仅供参考,请勿商业使用,如有侵权,请及时告知,高质量PFS游戏开发包
对于刚初学应广单片机比较不错 MINI-C编程指南,指导怎么学习应广单片机,按照上面指南,几天就能把应广单片机学会!
PFS154 DATASHEET 应广MTP 8BIT MCU 5PWM 比较器,LCD 4com.
(2019)90秒pfs游戏unity源码90s-FPS-project.zip
所有人
FP_PL_PFS_INSTALLER 火狐flash插件离线安装包 flash10 flash10安装包