首页 > 其他 > 详细

索引存储原理

时间:2020-06-15 18:50:26      阅读:27      评论:0      收藏:0      [点我收藏+]

存储基础

SQL Server内部使用了大量的结构来存储和组织数据。

SQL Server使用页来存储一切。当数据文件分配给数据库的时候,所有可用空间都会被分割成页,一页8KB (8,192 字节) ,页从0开始编号,依次加1.SQL Server与数据文件的IO交互,最小单位是页。

页有3个关键部分组成,the page header, records, and the offset array 页头、记录集。

页头有96字节,记录了页的元数据信息,

偏移数组,36字节,记录了页内行数据的起始地址指针。

每当添加一行数据,如下:

技术分享图片

 

页的基础结构是一样的,但是使用方式却不同,例如数据页、索引结构、大对象。

扩展

扩展是另一个基础的结构,就是数据文件内,必须物理连续8页构成的组。有2中类型的扩展,混合和单一。

创建一个 表时,数据量小于8页,页可以被分配给其他对象,直到大于8页,才会变成一个表的数据。

技术分享图片

 

 

技术分享图片

 

 页类型会关联在页上指明当前的用途,有哪些?

• File header page
• Boot page
• Page Free Space (PFS) page
• Global Allocation Map (GAM) page
• Shared Global Allocation Map (SGAM) page
• Differential Changed Map (DIFF) page
• Minimally Logged (ML) page
• Index Allocation Map (IAM) page
• Data page
• Index page
• Large object (Text and Image) page

有一些页类型是固定的,

 技术分享图片

 

注意:日志文件没有使用“页架构”,只有数据文件才会这样使用。

 使用了组织结构来排序数据,如下:

• Heap 堆
• Balanced-tree (B-tree)
• Columnar

这些结构会映射为特殊的索引类型。

 

索引存储原理

原文:https://www.cnblogs.com/PerfectBeauty/p/13132472.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!