2010-09-29 48 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