首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 分區表實戰筆記:建立、切換、歸檔與效能優化完整指南

     編輯:關於SqlServer

分區表透過將大量資料依範圍分散至不同檔案群組,大幅提升維護與查詢效能。本文記錄從分區函數建立到分區切換歸檔的完整實作流程。

核心物件建立順序

  1. 分區函數:定義分區鍵資料類型與邊界值,N 個邊界值產生 N+1 個分區。RANGE RIGHT 表示邊界值屬於下一個分區。
  2. 分區配置:將分區對應至檔案群組。若皆在 PRIMARY,則為邏輯分區;若分散不同磁碟,則具備物理 I/O 隔離效益。
  3. 分區表建立:CREATE TABLE ... ON PS_Orders(OrderDate) 指定分區配置與分區鍵。
  4. 分區叢集索引:依查詢習慣在分區鍵上建立叢集索引,利於範圍查詢與分區切換。
  5. 主鍵限制:分區表的唯一索引(含主鍵)必須包含分區鍵,否則無法建立。

分區切換三大模式

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) 函數查詢各分區資料筆數與範圍,驗證切換前後資料分布正確性。分區切換不移動實際資料頁,僅更新中繼資料,適合大量資料快速歸檔、載入與刪除。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved