电子书存储与检索技术详解#### 1.数据库对象分配- 存储单位:在SQL Server中,基本的数据存储单位是页,每个页大小为8KB。根据存储需求的不同,页可以分为多种类型,包括: - 行内数据(IN_ROW_DATA):用于堆分区或索引分区中的数据存储。 - 行溢出数据(ROW_OVERFLOW_DATA):存储超过8060B的varcharnvarcharvarbinarysql_variant列中的可变长度数据。 - 大对象数据(LOB_DATA):存储xmlvarbinary(max)varchar(max)等大对象数据类型。 - 数据页结构:页头占96B,包含页编号、上下页编号、页类型、对象ID、空闲字节数等信息。数据行最大为8060B,超出部分存储在行溢出页面上。行偏移矩阵逻辑顺序倒序排列,表示数据记录在数据行中的偏移量。 - 其他页类型: - 索引页(Index):存储索引条目。 - 大对象页(Text/Image):存储textntextimagenvarchar(max)varbinary(max)xml等大对象数据类型。 - 全局分配映射页(Global Allocation Map/Shared Global Allocation Map):记录区是否被分配的信息。 - 页面空间页(Page Free Space):记录页分配和页的可用空间。 - 索引分配映射页(Index Allocation Map):记录每个分配单元中表或索引所使用的区信息。 - 大容量修改映射页(Bulk Changed Map):记录自最后一条BACKUP LOG语句之后的大容量操作修改的区信息。 - 差异映射页(Differential Changed Map):记录自最后一条BACKUP DATABASE语句之后更改的区信息。 #### 2.区-管理空间的基本单位- 定义:SQL Se