bblitz

博客园 首页 新随笔 联系 订阅 管理

文件类型

一个数据库有三种类型的文件:

  • Primary File:.mdf,master data file,记录了这个DB其它文件的指针,每个数据库都有
  • Secondary File:默认情况下,数据存在主文件,如果决定对主文件进行扩展,可以创建二级文件,后缀名为.ndf
  • Transaction Log File:.ldf,每个DB都得有

image

Filegroups

  1. 便于对数据管理、分组
  2. 提高IO效率:将不同磁盘上的.ndf文件划分属于同一个文件组,每个磁盘有自己的磁盘控制器,查询将在不同磁盘展开,从而提高效率

Pages

数据存储的基本单元,8KB,96byte header,header中包括page number、page type、free space的大小等。其余部分存放数据项。
它能存储用户数据、索引等。

Extents

8个页是一个Extent,64KB。它是DBMS用于管理空间的单位。

image

Allocation Units

分配单元是针对页来讨论的,一个页的大小是8KB,但有的数据会超过8KB,那么单独的页就放不下一行数据。

  • IN_ROW_DATA:一行数据不会超过8KB,也就是一个页至少能放一行完整的数据

  • ROW_OVERFLOW_DATA:有变长数据,并且一个页放不下一行数据,会分配ROW_OVERFLOW_DATA类型的页并将超过8KB的数据放到新页,在原页中记录新页指针

  • LOB_DATA:LOB和OVERFLOW的区别在于,LOB在设计时就预期这列的内容会超过8KB,如varchar(max)和Image

image

引用

  1. https://medium.com/@idanmashi/sql-server-part-1-5811daebdeba
posted on 2023-10-26 15:36  orrest  阅读(14)  评论(0编辑  收藏  举报