SQL 中聚集索引

来源:互联网 发布:js事件源 编辑:程序博客网 时间:2024/06/06 05:10

今天做个试验,验证下聚集索引是不是改变表的物理结构。
第一步:创建表

--只有聚集索引CREATE TABLE Department(    DepartmentID int IDENTITY(1,1) NOT NULL PRIMARY KEY,    Name NVARCHAR(200) NOT NULL,    GroupName NVARCHAR(200) NOT NULL,    Company NVARCHAR(300),    ModifiedDate datetime NOT NULL  DEFAULT (getdate()))

因为在建表过程中有主键,所以默认创建一个聚集索引
创建成功,如图:
这里写图片描述
第二步:插入数据

--1w条数据INSERT INTO Department(name,[Company],groupname) VALUES('销售部','中国你好有限公司XX分公司','销售组')GO 10000

结果如下:
这里写图片描述
第三步:查询某一条数据
这里写图片描述
第四步:删除原有的聚集索引,建立新索引

CREATE CLUSTERED INDEX Index_Name ON Department(ModifiedDate DESC)

结果如下:
这里写图片描述

第五步:查询数据
这里写图片描述

与第一步结果进行对比,可以发现表的数据发生了变化,已经完全按照聚集索引所设定的顺序显示。这也就解释了为什么表在同一时刻只能有一个聚集索引。