码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server ->> 分区表上创建唯一分区索引

时间:2015-07-13 00:34:51      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

今天在读《Oracle高级SQL编程》这本书的时候,在关于Oracle的全局索引的章节里面有一段讲到如果对一张分区表创建一条唯一索引,而索引本身也是分区的,那就必须把分区列也加入到索引列表中去,当然不一定要再第一列。后来自己就去SQL Server上也试了一下。果真和Oracle一样的道理。再看到后面章节算是理解了。因为如果表被分区了,其实就是每个分区等于一个索引树了。这也就是为什么在SQL Server下这张sys.partitions系统视图中每个partition对应了一个hobt_id。

create partition function PF_One_Fifty_OneHundred(INT)
AS RANGE LEFT FOR VALUES(1,50,100)
GO

CREATE PARTITION SCHEME PS_One_Fifty_OneHundred
AS PARTITION PF_One_Fifty_OneHundred
TO ([PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY]);
GO

--DROP TABLE  dbo.partition_test



create table dbo.partition_test
(
    col1 INT    ,
    col2 INT

) ON PS_One_Fifty_OneHundred(col1)
GO

CREATE UNIQUE INDEX UIX_partition_test_col1 ON dbo.partition_test(col1) ON PS_One_Fifty_OneHundred(col2);


Msg 1913, Level 16, State 1, Line 35
The operation failed because an index or statistics with name UIX_partition_test_col1 already exists on table dbo.partition_test.

 

SQL Server ->> 分区表上创建唯一分区索引

标签:

原文地址:http://www.cnblogs.com/jenrrychen/p/4641747.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!