AdventureWorks 範例資料庫的資料分割
SQL Server 2005 包括兩個範例 Transact-SQL 指令碼,可以針對 AdventureWorks 範例資料庫執行以實作資料分割案例。如需有關如何安裝和執行指令碼的資訊,請參閱<Readme_PartitioningScript>和<Readme_SlidingWindow>。
第一個指令碼 PartitionAW.sql,分割 AdventureWorks 資料表 TransactionHistory 和 TransactionHistoryArchive。TransactionHistory 資料表包含今年的銷售記錄。此資料表主要用來插入新的記錄,以及必要時更新它們。TransactionHistoryArchive 資料表包含今年以前的銷售記錄。此資料表主要是用作 SELECT 查詢,並且當作一個臨時資料表,供資料移動到資料倉儲。如需有關這些資料表之資料分割設計的詳細資訊,請參閱<資料分割資料表與索引的計劃指導方針>。
在真實世界的狀況中,TransactionHistory 和 TransactionHistoryArchive 資料表很可能會變成資料庫中兩個最大的資料表。如果對這兩個資料表進行資料分割,就可以在它們之間管理月份資料的子集。每個月,最舊月份的資料會從 TransactionHistory 移動到 TransactionHistoryArchive。這樣一來,TransactionHistory 中的資料會保持最新,供 INSERT 和 UPDATE 作業處理,而較舊的資料會移到 TransactionHistoryArchive 供整理和分析。因為資料表是經過資料分割的,在資料表之間傳送月份「區塊」資料一般只要花費幾秒鐘,而不會像在先前版本中花費幾分鐘或幾小時。這是因為這只是中繼資料的作業,而非將資料實體重新放置。
第二個指令碼 Sliding.sql,則是為一個月份的資料實作此「滑動視窗」(Sliding Window) 的案例。如需有關此指令碼如何運作的詳細資訊,請參閱<設計資料分割來管理資料的子集>。