快捷搜索:
来自 网络数据库 2019-12-01 12:19 的文章
当前位置: 67677新澳门手机版 > 网络数据库 > 正文

页和区

SQL Server 中数量存款和储蓄的主导单位是页。为数据库中的数据文件(.mdf 或 .ndf)分配的磁盘空间能够从逻辑上划分成页(从 0 到 n 两次三番编号)。磁盘 I/O 操作在页级试行。也正是说,SQL Server 读取或写入全数数据页。

区是四个大意上连年的页的集结,用来有效地管理页。全部页都存款和储蓄在区中。

在 SQL Server 中,页的大大小小为 8 KB。那象征 SQL Server 数据库中每 MB 有 128 页。每页的开头是 96 字节的标头,用于存款和储蓄有关页的种类消息。此新闻包蕴页码、页类型、页的可用空间以致全部该页的对象的分配单元 ID。

下表表明了 SQL Server 数据库的数据文件中所使用的页类型。

页类型

内容

Data

text in row 设置为 ON 时,包含除 text、 ntext、image、nvarchar(max)、varchar(max)、varbinary(max) 和 xml 数据之外的所有数据的数据行。

Index

索引条目。

Text/Image

大型对象数据类型:

  • text、 ntext、image、nvarchar(max)、varchar(max)、varbinary(max) 和 xml 数据。

数据行超过 8 KB 时为可变长度数据类型列:

  • varchar、nvarchar、varbinary 和 sql_variant

Global Allocation Map、Shared Global Allocation Map

有关区是否分配的信息。

Page Free Space

有关页分配和页的可用空间的信息。

Index Allocation Map

有关每个分配单元中表或索引所使用的区的信息。

Bulk Changed Map

有关每个分配单元中自最后一条 BACKUP LOG 语句之后的大容量操作所修改的区的信息。

Differential Changed Map

有关每个分配单元中自最后一条 BACKUP DATABASE 语句之后更改的区的信息。

注意

日志文件不包含页,而是包含一系列日志记录。

在数码页上,数据行紧接着标头按梯次放置。页的终极是行偏移表,对于页中的每后生可畏行,各类行偏移表都带有叁个家有家规。种种条目款项记录对应行的率先个字节与页首的相距。行偏移表中的条目款项标次第与页中央银行的次第相反。

图片 1

巨型行援救

行无法跨页,可是行的有的能够移出游所在的页,因而行实际大概极其大。页的单个行中的最大数据量和支出是 8,060 字节 (8 KB卡塔尔。不过,那不包罗用 Text/Image 页类型存款和储蓄的数码。富含varchar、nvarchar、varbinary 或 sql_variant 列的表不受此约束的束缚。当表中的全部固定列和可变列的行的总大小抢先限定的 8,060 字节时,SQL Server 将从最大尺寸的列始发动态将八个或多少个可变长度列移动到 ROW_OVERFLOW_DATA 分配单元中的页。每当插入或更新操作将行的总大小增大到当先限制的 8,060 字节时,将会举行此操作。将列移动到 ROW_OVERFLOW_DATA 分配单元中的页后,就要 IN_ROW_DATA 分配单元中的原始页上维护 24 字节的指针。倘若一连操作减小了行的尺寸,SQL Server 会动态将列移回到原本数据页。有关详细音讯,请参阅行溢出多少当先 8 KB。

区是治本空间的大旨单位。多个区是多个大体上一而再再而三的页(即 64 KB)。那意味 SQL Server 数据库中每 MB 有 16 个区。

为了使空间分配更管用,SQL Server 不会将全体区分配给带有小量数目标表。SQL Server 有两连串型的区:

  • 统后生可畏区,由单个对象具有。区中的具备 8 页只可以由所属对象使用。

  • 混合区,最多可由八个对象分享。区中八页的每页可由差别的靶子具备。

常常从混合区向新表或索引分配页。当表或索引增进到 8 页时,将变为使用统大器晚成区进行持续分配。固然对现存表创立索引,並且该表包涵的行足以在目录中变化 8 页,则对该索引的有所分配都选择统后生可畏区开展。

图片 2

本文由67677新澳门手机版发布于网络数据库,转载请注明出处:页和区

关键词: