SQL Server数据库数据存储总结

SQL Server数据库存储文件类型:数据文件和日志文件。数据文件以页面作为存储单元存储数据。


页面:即数据页面,数据页(Page)。是系统在磁盘间中分配的一段大小为8k的连续空间。

文件头(File Header):每个文件的第0页记录叫文件头,记录引导信息。

扩展:每8个数据页(64k)的组合形成扩展区(Extent),简称扩展,也叫盘区。扩展是SQL Server默认的存储分配单位。

堆:全部数据页的组合形成堆(Heap)。


扩展类型:混合扩展(Mixed Extent)(也叫混合盘区)和一致扩展(Uniform Extent)(也叫统一盘区)。

混合扩展(Mixed Extent):扩展区中既包含了空间页面又包括了数据或索引页面时,称为混合扩展。每张表都以混合扩展开始。

一致扩展(Uniform Extent):只存储同一对象,该对象拥有整个扩展。专门保存数据及索引信息。

创建表后,先在混合扩展中分配数据页面,当数据超过8个页面时,再从一致扩展中分配数据页面。

 

系统为什么要提供混合扩展和一致扩展?

因为以扩展作为存储分配单位的话,可以减少频繁的IO读写,提高数据库性能,但同时又引入了一个新的问题,那就是,当存储数据不足8k时也会分配一个扩展,这样会浪费存储空间,降低空间分配效率。为解决这个问题,系统提供了混合扩展和一致扩展。

 

空间页面:负责数据空间的分配和管理。包含三种类型的页面文件。

PFS页面(Page free space):记录一个页面是否已分配、位于混合扩展还是一致扩展以及页面上还有多少可用空间等信息。

GAM页面(Global allocation map)和SGAM页面(Secodary global allocation map):用来记录空闲的扩展或含有空闲页面的混合扩展的位置。

 

数据页面:负责管理表或索引。包含四种类型的页面文件。

IAM页:Index Allocation Map,索引分布映像页。IAM页从混合扩展中分配。记录了8个初始页面的位置和所有扩展区的位置,每个IAM页面能管理512,000个数据页面。超过512,000时,还可以增加更多的IAM页。

数据页:保存大小不超过8k的非文本/图像类型的数据。

文本/图像页:保存超过8K容量的文本或图像类型数据。

索引页:保存的是与索引结构相关的数据信息。


关于SQL SERVER的数据页面结构参考博文《SQLSERVER的数据页面结构》。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值