加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server页类型详解

发布时间:2016-08-06 18:57:57 所属栏目:MsSql教程 来源:站长网
导读:SQL Server中包含多种不同类型的页,来满足数据存储的需求。不管是什么类型的页,它们的存储结构都是相同的。每个数据文件都包含相当数量的由8KB组成的页,即每
SQL Server中包含多种不同类型的页,来满足数据存储的需求。不管是什么类型的页,它们的存储结构都是相同的。每个数据文件都包含相当数量的由8KB组成的页,即每页有8192bytes可用,每页都有96byte用于页头的存储,剩下的空间

才用来存储实际的数据,在页的最后是数据行偏移数组,也可以叫“页槽”数组,我们可以把一个页看做是有一个个方格的书橱,哪行数据占用了哪个槽,都在页尾的位置进行标示,并且页尾数组的写入顺序是倒叙的,这样就可以有效的利用页空间。

由此可以预见,页面上的“槽”并不一定是有序存放的,当有新的ID进来,并且该ID位于该页的最大ID和最小ID之间时(假设是以ID进行排序的叶子页),那么该ID数据行则直接插入到已经存在的数据行的后面即可,当有查询需要检索该ID所在的行时,

数据库引擎从索引页找到该“叶子”页,将该页全部加载到内存中,通过页尾的行偏移数组找到对应的行。页尾数组的记录大小存储在页头里,数组里面每一个关于“页槽”的记录占用空间为2bytes。

SQL Server页类型详解

据我所知,SQL Server数据文件共有14种页类型:

类型1——数据页(Data Page):

堆中的数据页

聚集索引中的“叶子”页

在数据文件中的位置是随机的

DBCC PAGE 中m_type=1

类型2——索引页(Index Page):

非聚集索引

非“叶子”级聚集索引

在数据文件中的位置是随机的

DBCC PAGE 中m_type=2

类型3——文本混合页(Text Mixed Page):

较短长度的LOB数据类型,多种类型,多行存储

在数据文件中的位置是随机的

DBCC PAGE 中m_type=3

类型4——文本页(Text Tree Page):

存储单个LOB行

在数据文件中的位置是随机的

DBCC PAGE 中m_type=4

类型5——排序页(Sort Page):

进行排序操作时的临时页

常见于TempDB中,在用户数据中进行“ONLINE"操作时也可见(例如:联机创建索引未指定SORT_IN_TEMPDB选项时)

在数据文件中的位置是随机的

DBCC PAGE 中m_type=19

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读