首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Nonclustered Indexes页级别包孕什么数据

2012-09-10 
Nonclustered Indexes页级别包含什么数据? 先来看两个例子: 1.创建测试表,C1为主键。 CREATE TABLE [dbo].[

Nonclustered Indexes页级别包含什么数据?

 先来看两个例子:

 

1.      创建测试表,C1为主键。

 

CREATE TABLE [dbo].[ProdTable2](

      [c1] [int] IDENTITY(1,1)NOTNULL,

      [c2] [datetime] NULL,

      [c3] [char](25)NULL,

 CONSTRAINT[PK_ProdTable2] PRIMARY KEY CLUSTERED

(

      [c1] ASC

)WITH(PAD_INDEX =OFF,STATISTICS_NORECOMPUTE =OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS =ON,ALLOW_PAGE_LOCKS =ON)ON [PRIMARY]

) ON [PRIMARY]

 

2.      创建非聚集索引:

CREATE NONCLUSTERED INDEX (

      [c2] ASC

)

INCLUDE( [c3])WITH(PAD_INDEX =OFF,STATISTICS_NORECOMPUTE =OFF,SORT_IN_TEMPDB=OFF,IGNORE_DUP_KEY=OFF,DROP_EXISTING=OFF,ONLINE=OFF,ALLOW_ROW_LOCKS =ON,ALLOW_PAGE_LOCKS =ON)ON [PRIMARY]

GO

 

3.     查询C1表的所有字段,限制条件为C2:

 

select * from dbo.ProdTable2

where c2 ='2012-08-0111:03:09.687'

 

执行计划:

Nonclustered Indexes页级别包孕什么数据

 

可以看到查询使用了索引Ix_C2一次性返回所有数据(C1,C2,C3),说明在有Cluster索引表中,非聚集索引页业级别存储了Cluster index key,value,NONCLUSTERED INDEX值以及Include字段值。

 

 

4.      删除主键再运行相同的查询得到下面的执行计划:

 Nonclustered Indexes页级别包孕什么数据

可以看到使用了索引Ix_C2以及RID Lookup共同返回数据,说明非聚集索引页级别在HEAP表中存储的是RID(FileID:PageID:SlotNumber)NONCLUSTERED INDEX值以及Include 字段值。

 

热点排行