读书人

将普通表修改为分区表后之前的非聚居

发布时间: 2012-05-21 18:04:41 作者: rapoo

将普通表修改为分区表后,之前的非聚居索引是否需要重新建立?
CREATE TABLE Sale(
[Id] [int] IDENTITY(1,1) NOT NULL, --自动增长
[Name] [varchar](16) NOT NULL,
[SaleTime] [datetime] NOT NULL,
CONSTRAINT [PK_Sale] PRIMARY KEY CLUSTERED --创建主键
(
[Id] ASC
)
)

CREATE UNIQUE NONCLUSTERED INDEX [IX_Sale_Name] ON [dbo].Sale(Name)
--插入一些记录
insert Sale ([Name],[SaleTime]) values ('张三','2009-1-1')
--删掉主键
ALTER TABLE Sale DROP constraint PK_Sale
--创建主键,但不设为聚集索引
ALTER TABLE Sale ADD CONSTRAINT PK_Sale PRIMARY KEY NONCLUSTERED
(
[ID] ASC
) ON [PRIMARY]

CREATE CLUSTERED INDEX CT_Sale ON Sale([SaleTime])
ON partschSale([SaleTime])


------------------------
例如上面的代码,我将一个普通表修改为分区表后,
IX_Sale_Name是否也需要重新删除后再建立?



[解决办法]
难不成分区了原来的非聚集索引会没有了?
[解决办法]
可以重建一下 有好处的
[解决办法]
是需要除所有索引
再分表
再加上索引和主健

读书人网 >SQL Server

热点推荐