SQL SERVER 2008 索引、数据存储基本理论
介于,最近发现,向高级程序员进阶过程中,SQL SERVER并发处理,索引,GC,缓存方面的高级理解必不可少。因此,为以后做准备,决定将相关的文档整理一份。
希望能对自己,对博友有一定的吧帮助。
一:基本概念
1.索引的用途:为数据库提供了额外的方式查找数据并快速找到数据的存储位置。我们可以把SQL SERVER中的数据视为存储在某种层次结构中的数据。
2.文件:数据库有关的文件包括两种:.mdf文件和.ldf文件。
①.mdf文件是主物理数据库文件,是最终存储数据的地方,可以添加“次文件”(.ndf文件),次文件不需要与主文件位于同一主物理驱动器。
②.ldf文件,日至文件。
3.区段:区段是用来给表和给定文件中的索引分配空间的基本存储单元,它是由8个连续的64kb数据页组成。
关于区段有以三个要点:
①一旦一个区段已满,下一条记录将占用一个完整的区段大小,而不是记录本身的大小。
②通过预先分配空间,占用一个完整的区段大小,SQLSERVER省下了为每一条记录分配新空间的时间。
③分配给数据库的空间是从硬盘可用空间中消失的空间,区段的空间则仅仅是单独数据库文件获得的整个空间中分配的空间。
4.页:与区段是数据库中的分配单元类似,页是特定区段中的分配单元,页是到达真正的数据行的最后一个级别。页中的行数是不固定的,并且,行不允许跨页。
对于插入的每一行,为了表明特定行的数据开始于页中的何处,注意我们把行偏移量放置在末尾页。如图:
4.1索引页:保存非聚集索引的非叶级页和叶级页以及聚集索引的非叶级页。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。