分區表透過將大量資料依範圍分散至不同檔案群組,大幅提升維護與查詢效能。本文記錄從分區函數建立到分區切換歸檔的完整實作流程。
RANGE RIGHT 表示邊界值屬於下一個分區。CREATE TABLE ... ON PS_Orders(OrderDate) 指定分區配置與分區鍵。1. 分區 → 一般表:ALTER TABLE Orders SWITCH PARTITION 3 TO Orders_1998。目標表需結構相同、建立相同索引、位於同檔案群組、且為空表。切換為中繼資料操作,極快速。
2. 一般表 → 分區:需額外在來源表加入 CHECK CONSTRAINT 確保資料符合目標分區範圍,否則會報錯 Msg 4982。
3. 分區 → 分區:需建立結構相同的目標分區表(含獨立分區函數/配置),可直接 SWITCH PARTITION n TO TargetTable PARTITION n。
透過 $PARTITION.PF_Orders_OrderDateRange(OrderDate) 函數查詢各分區資料筆數與範圍,驗證切換前後資料分布正確性。分區切換不移動實際資料頁,僅更新中繼資料,適合大量資料快速歸檔、載入與刪除。