zoukankan      html  css  js  c++  java
  • 索引存储原理

    存储基础

    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

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

  • 相关阅读:
    软件测试总结
    接口测试总结与分享
    Android自动化测试框架
    Jmeter系列- Jmeter 分布式测试
    python+requests接口自动化测试实战
    测试十年的前辈工作心得与经验分享
    一次压测实战的复盘
    (纯技术干货)完整的框架搭建过程 实战 Python+unittest+requests 接口自动化测试
    Android自动化测试框架必用工具
    第八周作业
  • 原文地址:https://www.cnblogs.com/PerfectBeauty/p/13132472.html
Copyright © 2011-2022 走看看