mssql分区视图
分区列规则
分区列存在于每个成员表上,并且通过 CHECK 约束标识特定表中的可用数据。分区列必须遵守如下规则:
每个基表都拥有键值由 CHECK 约束所强制的分区列。每个表的 CHECK 约束的键范围与其它任何表互不重叠。任何分区列的给定值必须只能映射到一个表。CHECK 约束只能使用以下运算符:BETWEEN、AND、OR、<、<=、>、>=、=。
分区列不能是标识、默认或 timestamp 列。
在视图中,分区列必须位于每个 SELECT 语句的选择列表中相同的序号位置处。例如,分区列要么总是每个选择列表中的首列,要么总是每个选择列表中的第二列,依次类推。
分区列不允许为空。
分区列必须是表的主键的一部分。
分区列不能是计算列。
在分区列上必须只有一个约束。如果约束多于一个,SQL Server 会忽略所有的约束并在确定视图是否为分区视图时不考虑这些约束。
分区列的可更新性没有约束。
如果分区列是年份,则可以考虑增加一个guid列作为组合主键,如果有必要再加一个自动ID,如果各表ID可重复则都从1开始,否则不同表的ID可从不同的值开始,保证不重复。然后以ID为聚集索引。或在应用程序中做一个ID生成器,保证各表之间ID不重复