求大神给个sql聚簇索引的实例,我光看定义看不懂呀 另外聚簇索引和unique索引有啥区别?
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
展开全部
ALTER TABLE [tra].[tblShipment_CSM] ADD CONSTRAINT [IX_tblShipment_CSM] UNIQUE CLUSTERED
(
[Company] ASC,
[Facility] ASC,
[ConsignmentID] ASC,
[StartingPoint] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
UNIQUE INDEX 和 Primary key 差不多,它要求索引包含的值必须在表中是唯一的,不能重复。CLUSTERED 聚族索引是要求表的数据在存储时要按索引的先后顺序写入磁盘,这种索引可以减少扫描磁盘的次数,减少IO的读取。
(
[Company] ASC,
[Facility] ASC,
[ConsignmentID] ASC,
[StartingPoint] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
UNIQUE INDEX 和 Primary key 差不多,它要求索引包含的值必须在表中是唯一的,不能重复。CLUSTERED 聚族索引是要求表的数据在存储时要按索引的先后顺序写入磁盘,这种索引可以减少扫描磁盘的次数,减少IO的读取。
更多追问追答
追问
我真的不知道你在说啥。。因为我是经管的 所以学的很浅 你能给我一个比较简单的例子吗?
追答
假设这个下面的数据表 tblProduct,它有一条记录在里边:
Company Product number Product name Status
100 1000A Book A 20
如果在这个表上有个UNIQUE索引,索引包含的列是 Company, Product number,你在往这个表写入下面的数据:
Company Product number Product name Status
100 1000A Book B 20
数据库会提示错误,写入数据失败,因为产品 1000A 在公司 100 中已经存在。
如果在这个表上有个CLUSTERED 索引,索引包含的列也是 Company, Product number,你在往这个表写入下面的数据:
Company Product number Product name Status
000 1000A Book B 20
这笔数据数据库会存储在已有记录的前面如下,因为公司 000 小于 公司 100
Company Product number Product name Status
000 1000A Book B 20
100 1000A Book A 20
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询