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

日期:2019-11-17编辑作者:北京pk10官网-数据库

数据页是含有已加多到数据库表中的客户数据的布局。

如前所述, 数据页有二种, 每一种都是分歧的格式存款和储蓄数据。

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 TRA总高管N (3604) 提示 SQL server 将结果再次来到给顾客端。

举例没有此 traceflag, 则不会为 DBCC 页命令归来输出。

 

图片 3

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

缓冲区有的显得有关给定页的缓冲区的新闻。

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

 

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

(表6-5 突显了超越51%这么些字段的意思。数据节包蕴每行的信息。

接受拥有 printopt 值1或3的 DBCC 页表示插槽地点, 即每行的6个表存款和储蓄257、页上的行的偏移量和行的尺寸。

行数据分为三片段。

 

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

高级中学级有个别含有存款和储蓄在页面上的骨子里多少, 每五列展现八个十七进制数字。

最侧面的列富含数据的 ASCII 字符表示情势。 此列中唯有字符数据是可读的, 就算或许会显得某个别的数据。

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

 

在 DBCC 页的出口中, 您能够观察此页包罗23行, 第生机勃勃行 (由插槽0指令) 从偏移量 1585 (0x631) 初叶。

实际上存款和储蓄在页面上的第黄金年代行实际上是6行, 而行偏移量数组中的偏移量为96。printopt 值为1的 DBCC 页显示 "插槽编号" 顺序中的行, 纵然可以从各类插槽的偏移量中观察, 也不是在页面上其实存在行的次第。

举例接受 printopt 值为2的 DBCC 页, 则拜看见页的具有80九十六个字节 (标头之后) 的转储, 按它们存款和储蓄在页面上的顺序排列。

 

本文由北京pk赛车官网下载发布于北京pk10官网-数据库,转载请注明出处:与 SQL server 中的所有其他类型的页一样

关键词:

二、彻底卸载MySQL数据库

彻底卸载Yum安装的MySQL数据库 在我第二章 MySQL数据库基于Centos7.3-部署 过程中,因为以前安装过其它的版本所以没有卸...

详细>>

上面的例子是MySQL5.5的文档

一、版本说明 1.1、MySQL相关连接 MySQL官网: MySQL下载: MySQL文档: 说明:MySQL文档每种版本的mysql都有对应的文档。上...

详细>>

mariadb多源主从复制错误跳过.md

mysql 的主从错误跳过和mariadb的多源主从复制错误跳过操作不同,请注意: 更改会话的default_master_connection变量 STOP S...

详细>>

mssql sqlserver 将字段null(空值)值替换为指定值的三

转自:http://www.maomao365.com/?p=6965   摘要: 下文将分享两种将字段中null值替换为指定值的方法分享,如下所示: 实验环境...

详细>>