Sql server SQL Server表分区
我有一个包含以下列的表Sql server SQL Server表分区,sql-server,partitioning,Sql Server,Partitioning,我有一个包含以下列的表 ID (INT Primary Key) RecordDate (DateTime non-unique) Name (varchar) 我已根据字段RecordDate(每月)将表划分为不同的文件组 现在,我如何才能在不使用RecordDate组合字段的情况下将主键ID添加到此分区方案中?简单的回答是,如果您不想将分区列作为复合列包含在主键中,则主键不能进行群集。因此,在RecordDate的分区方案上创建聚集索引。然后,在创建主键约束时,将其设置为非聚集 请注意t,
ID (INT Primary Key)
RecordDate (DateTime non-unique)
Name (varchar)
我已根据字段RecordDate
(每月)将表划分为不同的文件组
现在,我如何才能在不使用RecordDate组合字段的情况下将主键ID添加到此分区方案中?简单的回答是,如果您不想将分区列作为复合列包含在主键中,则主键不能进行群集。因此,在RecordDate的分区方案上创建聚集索引。然后,在创建主键约束时,将其设置为非聚集
请注意t,一般不建议使用 您的需求是什么?您需要一个分区表,但需要一个不包含分区方案字段的逻辑键?我尝试将ID创建为非集群的可能重复项<代码>在PartitionTablePrSc(RecordDate)上选中ADD CONSTRAINT PK_Container主键非聚集(ID)以更改表dbo.PartitionTable;转到,我发现一个错误,
列“RecordDate”是索引“PK_Container”的分区列。唯一索引的分区列必须是索引键的子集。
我可以在主分区上创建非聚集主键。这会减慢我的插入速度。