• SQL SERVER 2008 索引、数据存储基本理论【原创】


    介于,最近发现,向高级程序员进阶过程中,SQL SERVER并发处理,索引,GC,缓存方面的高级理解必不可少。因此,为以后做准备,决定将相关的文档整理一份。

    希望能对自己,对博友有一定的吧帮助。

    一:基本概念

    1.索引的用途:为数据库提供了额外的方式查找数据并快速找到数据的存储位置。我们可以把SQL SERVER中的数据视为存储在某种层次结构中的数据。

    2.文件:数据库有关的文件包括两种:.mdf文件和.ldf文件。

    ①.mdf文件是主物理数据库文件,是最终存储数据的地方,可以添加“次文件”(.ndf文件),次文件不需要与主文件位于同一主物理驱动器。

    ②.ldf文件,日至文件。

    3.区段:区段是用来给表和给定文件中的索引分配空间的基本存储单元,它是由8个连续的64kb数据页组成。

     关于区段有以三个要点:

    ①一旦一个区段已满,下一条记录将占用一个完整的区段大小,而不是记录本身的大小。

    ②通过预先分配空间,占用一个完整的区段大小,SQLSERVER省下了为每一条记录分配新空间的时间。

    ③分配给数据库的空间是从硬盘可用空间中消失的空间,区段的空间则仅仅是单独数据库文件获得的整个空间中分配的空间。

    4.页:与区段是数据库中的分配单元类似,页是特定区段中的分配单元,页是到达真正的数据行的最后一个级别。页中的行数是不固定的,并且,行不允许跨页。

     对于插入的每一行,为了表明特定行的数据开始于页中的何处,注意我们把行偏移量放置在末尾页。如图:

    4.1索引页:保存非聚集索引的非叶级页和叶级页以及聚集索引的非叶级页。

  • 相关阅读:
    word2vector 资料
    回声状态网络(ESN)基础教程
    GBDT:梯度提升决策树
    B-树,B+树,B*树详解
    HTTP权威指南-基础知识
    JavaScript高级程序设计--对象,数组(栈方法,队列方法,重排序方法,迭代方法)
    HTML自定义对象与属性探究(谷歌,火狐,IE9浏览器没问题)
    冒泡,setinterval,背景图的div绑定事件,匿名函数问题探究
    JavaScript高级程序设计--表单脚本
    我是跨域的JSONP
  • 原文地址:https://www.cnblogs.com/caoheyang911016/p/4119501.html
Copyright © 2020-2023  润新知