与 SQL server 中的所有其他类型的页一样

数据页是满含已增添到数据库表中的客户数量的构造。

如前所述, 数据页有三种, 种种都是分化的格式存款和储蓄数据。

SQL server 有行内数据页、行溢出数据页和 LOB 数据页。

与 SQL server 中的全数别的类别的页相仿, 数据页的大小固定为 8 KB 或8192字节。

它们由三重点组件组成: 页面页眉、数据行和行偏移量数组, 如图6-4 所示。

图片 1

 

页标题

 

如图6-4 所示, 页标题攻克各种数据页的前九十六个字节 (为数量、行开支和行偏移保留80九十六个字节)。表6-5 列出了反省页标题时呈现的局地音信。

图片 2

 

行内数据的数据行

 

页题最近面是积存表实际数据行的区域。单个数据行的最大尺寸为8060字节的行内数据。

行还足以在单独的页上存款和储蓄行溢出和 LOB 数据。

在给定页上囤积的行数遵照表结商谈存款和储蓄的数码而退换。

持有全体固定长度列的表始终能够储存每页相像的行数;

可变长度行能够依据输入数据的骨子里尺寸, 存款和储蓄尽大概多的行。

维持行长越来越短能够使越来越多行契合页面, 进而减少 i/o 并追加所需数据在缓存中的大概。

 

行偏移量数组

 

行偏移量数组是2字节项的块, 各种条款表示相应数据行起首的页面上的偏移量。

每行在此个数组中都有叁个2字节的条约 (正如前边所议论的, 当您读书每行所需的十二个开荒字节时)。

即使如此那个字节未有存款和储蓄在数额行中, 但它们确实会影响适合页面包车型大巴行数。

 

行偏移量数组提示页上行的逻辑顺序。

例如, 若是表具有聚焦索引, SQL server 将按聚焦索引键的顺序存款和储蓄这个行。

那并不代表行按聚焦索引键的顺序物理地蕴藏在页面上。

相反, 偏移量数组中的插槽0援引聚焦索引键顺序中的第意气风发行, 插槽1援引第二行, 依此类推。

正如您在检讨其实页面时所看到的那样, 这几个行的大要地点能够放在页面包车型客车任何地点。

 

查阅数据页

 

能够利用 DBCC 页命令查看数据页的剧情, 

那允许你查看数据库中任何给定页的页标题、数据行和行偏移表。

独有系统助理馆员才具利用 DBCC 页。

唯独, 由于平时没有必要查阅数据页的内容, 由此在 SQL server 文档中找不到关于 DBCC 页的音信。

可是, 要是您想利用它, 上边是语法:

DBCC PAGE ({dbid | dbname}, filenum, pagenum[, printopt])

 

DBCC 页面命令富含表6-6 中呈现的参数。

清单6-4 中的代码和结果呈现来自 DBCC 页的示范输出, 其 printopt 值为1。

请留意, DBCC TRACOON (3604) 提示 SQL server 将结果回到给顾客端。

尽管未有此 traceflag, 则不会为 DBCC 页命令归来输出。

 

图片 3

正如所见到的, DBCC 页的输出分为四生死攸关部分: 缓冲区、页标题、数据和偏移量表 (实际上是偏移量数组)。

缓冲香港区域市政局地显得有关给定页的缓冲区的信息。

此上下文中的缓冲区是管理页的内部存款和储蓄器结构, 本节中的音信仅在页处于内部存款和储蓄器中时才相关。

 

从 DBCC 页的 "输出" 页标题部分显得页上装有标题字段的数目。

(表6-5 展现了绝大相当多那么些字段的含义。数据节包括每行的音讯。

利用全数 printopt 值1或3的 DBCC 页表示插槽地方, 即每行的6个表存款和储蓄257、页上的行的偏移量和行的长短。

行数据分为三部分。

 

左列提示显示数据所在行内的字节地方。

高级中学级部分含有存储在页面上的莫过于数据, 每五列突显多个十七进制数字。

最右侧的列富含数据的 ASCII 字符表示方式。 此列中独有字符数据是可读的, 固然大概博览会示有个别其余数据。

"偏移量表" 部分显得页面末尾的行偏移量数组的剧情。

 

在 DBCC 页的出口中, 您能够观望此页包罗23行, 第意气风发行 (由插槽0提示) 从偏移量 1585 (0x631) 初阶。

实在存款和储蓄在页面上的首先行实际上是6行, 而行偏移量数组中的偏移量为96。printopt 值为1的 DBCC 页呈现 "插槽编号" 顺序中的行, 即便能够从种种插槽的偏移量中阅览, 亦不是在页面上实在存在行的逐个。

倘诺选择 printopt 值为2的 DBCC 页, 则拜会到页的具有80一百个字节 (标头之后) 的转储, 按它们存款和储蓄在页面上的顺序排列。

 

本文由快3平台发布于快3正规平台数据库,转载请注明出处:与 SQL server 中的所有其他类型的页一样

相关阅读