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

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

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

一:基本概念

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

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

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

②.ldf文件,日至文件。

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

 关于区段有以三个要点:

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

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

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

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

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

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

 

posted @ 2014-11-24 20:01  曹赫洋  阅读(214)  评论(0编辑  收藏  举报