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

DB2 分區資料庫分區鍵選擇原則與變更策略

     編輯:DB2 教學

分區鍵基本概念

在 DB2 UDB 分區資料庫環境中,分區鍵 是決定資料列分布於哪個資料庫分區的一欄或多欄組合。於 CREATE TABLE 時定義。若表空間分布於多重分區的資料庫分區群,且未顯式指定分區鍵,系統預設規則如下:

  • 若有主鍵,取主鍵第一欄作為分區鍵。
  • 無主鍵時,取資料表中第一個非長資料型態欄位(長型態包含 LONG VARCHAR、LONG VARGRAPHIC、BLOB、CLOB、DBCLOB)。

單分區資料庫分區群中,若需使用分區鍵必須顯式定義;否則預設不建立。僅單分區群允許建立無分區鍵的資料表。單分區群上的表可用 ALTER TABLE 新增/刪除分區鍵。

良好分區鍵選擇原則

理想分區鍵應使資料均勻分散於所有分區。設計時應考量:

  • 不支援僅含長資料型態的多分區表。
  • 分區鍵一旦定義無法直接修改(需重建表)。
  • 包含最常用於 JOIN 條件的欄位,利用共置減少資料移動。
  • 包含常用於 GROUP BY 的欄位,利於分區本地聚合。
  • 任何唯一鍵或主鍵必須包含所有分區鍵欄位。
  • OLTP 環境下,分區鍵欄位應常以等值謂詞(=)搭配常數或主機變數出現在交易中。例:WHERE emp_no = :hv,則 EMP_NO 為優良單欄分區鍵。

分區鍵變更操作指南

資料載入後變更分區鍵極為麻煩,建議設計階段即審慎規劃。若必須變更,視分區群類型採取不同策略:

單分區資料庫分區群

  1. ALTER TABLE ... DROP PARTITIONING KEY 移除現有分區鍵。
  2. ALTER TABLE ... ADD PARTITIONING KEY 建立新分區鍵。

註:僅限單分區群資料表執行。

多分區資料庫分區群

無法直接使用 ALTER TABLE 變更,須採取下列兩種方式之一:

  1. 資料移至單分區群:將資料匯出至單分區群,套用上述單分區變更步驟,再遷回多分區群。
  2. 重建表:匯出全表資料 → 刪除資料表 → 重新建立資料表並定義新分區鍵 → 匯入資料。

警示:上述兩法皆不適合大型資料庫,再次強調務必在大型資料庫設計前期確定合適分區鍵。

收藏地址:https://www.cncms.com.cn/db2/q372742.Html
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved