2010-09-29 46 views
3

是否有一种规范的方式来将引用的数据分区到另一个表?SQL Server 2005分区表由外部参考数据

例如

timetable 
    id 
    datetime 

bigtable 
    id 
    timetable_id -- foreign key 
    .. other data .. 

我想通过在时间表的日期时间进行分区Bigtable中。 thankx。

回答

2

如注意到here,他的分区列必须是表中所有唯一索引的一部分,它将包含您的主键。

我认为你在这里的唯一选择是将timetable.datetime列非规格化为bigtable,以便列可用于分区。

2

分区键必须是是被分区表的一列。如果你有idtimetabledatetime之间的相关性,那么你可以通过ID划分:

id   datetime 
1   20091001 
2   20091002 
3   20091003 
... 
32   20091101 
33   20091102 
... 
62   20091201 
... 

然后分区范围(2009-10-01,2009-10-31),(2009-11-01 ,2009-11-30)等可以用id值表示:(1,31),(32,62),...但是,这要求id值的等级正好匹配datetime的等级值。如果您没有此相关性,则必须移动bigtable中的datetime列,或重新排列id,以便它们与datetime相关。

+0

不幸的是,id是唯一标识符,所以它不会拥有该属性 – Timmy 2011-11-10 00:52:09