你的位置:首页 > 软件开发 > 数据库 > SQL Server :理解数据页结构

SQL Server :理解数据页结构

发布时间:2015-05-07 15:00:45
我们都很清楚SQL Server用8KB 的页来存储数据,并且在SQL Server里磁盘 I/O 操作在页级执行。也就是说,SQL Server 读取或写入所有数据页。页有不同的类型,像数据页,GAM,SGAM等。在这文章里,让我们一起来理解下数据页结构。SQL Server把 ...

我们都很清楚SQL Server用8KB 的页来存储数据,并且在SQL Server磁盘 I/O 操作在页级执行。也就是说,SQL Server 读取或写入所有数据页。页有不同的类型,像数据页,GAM,SGAM等。在这文章里,让我们一起来理解下数据页结构。

SQL Server把数据记录存在数据页(Data Page)里。数据记录是堆表里、聚集索引里叶子节点的行。

数据页由3个部分组成。页头(标头),数据区(数据行和可用空间)及行偏移数组。

SQL Server :理解数据页结构

在我们讨论在SQL Server里,数据页内部结构具体是什么样之前,我们来创建一个表并插入一些记录。

 

 1 USE [InternalStorageFormat] 2 GO 3  4 IF EXISTS ( SELECT * 5       FROM  sysobjects 6       WHERE  id = OBJECT_ID(N'[dbo].[Customers]') 7           AND OBJECTPROPERTY(id, N'IsUserTable') = 1 ) 8   DROP TABLE dbo.Customers 9 10 CREATE TABLE Customers11 (12  FirstName CHAR(50) NOT NULL,13  LastName CHAR(50) NOT NULL,14  Address CHAR(100) NOT NULL,15  ZipCode CHAR(5) NOT NULL,16  Rating INT NOT NULL,17  ModifiedDate DATETIME NOT NULL,18 )19 GO20 21 22 INSERT INTO dbo.Customers23     ( FirstName ,24      LastName ,25      Address ,26      ZipCode ,27      Rating ,28      ModifiedDate29     )30 VALUES ( 'Woody' , -- FirstName - char(50)31      'Tu' , -- LastName - char(50)32      'ZUOQIAO YOUXI TOWN LINHAI CITY' , -- Address - char(50)33      '0000' , -- ZipCode - char(5)34      1 , -- Rating - int35      '2015-05-07 10:09:51' -- ModifiedDate - datetime36     )37     go 2

原标题:SQL Server :理解数据页结构

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。