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

SQL Server 2005 資料分區實測:200 萬筆帳本表按月分區

     編輯:關於SqlServer

SQL Server 2005 引入資料表/索引分區,將大型表水平切分至多個檔案群組,查詢與維運可針對單一分區操作,提升效能與管理性。

分區適用條件

  • 表包含大量資料且以多種方式存取 (如近期熱資料頻繁寫入、歷史資料唯讀)。
  • 查詢/維運無法在預期時限完成,或維護窗口不足。

實測案例

  • 帳本表 200 萬筆,以會計月份 (FiscalPeriod) 為分區鍵,建立 12 個分區對應 12 個檔案群組。
  • 測試預存程序 proc_partitiontest (含公司、機構、年度、期別、倉庫等參數)。

執行結果比較

指標分區前分區後
執行時間52 秒47 秒
Logical Reads1,73576
Scan Count22

分析與建議

  • Logical Reads 大幅下降 (95%+),證明分區消除有效運作 (僅掃描相關月份分區)。
  • 時間僅略微改善,可能受限於:
      • 查詢未完全落在單一分區 (跨分區)
      • 連接、排序、彙總等其他運算子成本佔大頭
      • 統計資料不準導致執行計畫非最佳
  • 關鍵成功因素:
      • 分區鍵必須出現在查詢 WHERE/JOIN 條件 (Partition Elimination)
      • 檔案群組分散於不同實體磁碟 (I/O 平行)
      • 統計資料同步更新
      • 索引對齊分區
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved