賽迪網 > IT技術 數據庫 > 精彩更新
  IT資訊搜索
 
IT產品搜索
[程式開發][網管世界][網路安全][數據庫技術]
[作業系統][嘉賓聊天·線上訪談][活動集錦]
[精彩專題][Symantec專區][訂閱IT技術週刊]
[開發論壇][網管論壇][安全論壇][數據庫論壇]
[作業系統論壇][Sybase專區][IBM dW技術專區]
[病毒求助][病毒與漏洞播報][文檔·源碼下載]

正確認識DB2數據庫分區相容性和並置概念

發佈時間:2008.07.16 04:45     來源:賽迪網    作者:小喬

【賽迪網-IT技術報道】最近在看一些DB2的DPF方面的東西,有兩個概唸有一些搞不懂。

就是“分區相容性”和“並置”兩個概念。

搜尋了一些相關資料,內容如下:

分區相容性

可對分區鍵的對應列的基本數據類型進行比較,並可將它們聲明為是分區相容的(partition compatible)。分區相容的數據類型具有如下屬性:具有相同值但有不同類型的兩個變數會按相同的分區演算法映射至同一個分區號。 分區相容性具有下列特徵:

基本數據類型與另一個相同的基本數據類型相容。

內部格式用於 DATE、TIME 和 TIMESTAMP 數據類型。它們彼此都不相容,且都不與 CHAR 相容。

分區相容性不受帶有 NOT NULL 或 FOR BIT DATA 定義的列的影響。

對相容數據類型的 NULL 值的處理是完全相同的;對不相容數據類型的 NULL 值的處理可能不相同。

用戶定義的類型的基本數據類型用於分析分區相容性。

對分區鍵中相同值的小數的處理是完全相同的,即使它們的標度和精度不同。

字符串中(CHAR、VARCHAR GRAPHIC 或 VARGRAPHIC)的尾部空格會被散列演算法忽略。

BIGINT、SMALLINT 和 INTEGER 是相容的數據類型。

REAL 和 FLOAT 是相容的數據類型。

不同長度的 CHAR 和 VARCHAR 是相容的數據類型。

GRAPHIC 和 VARGRAPHIC 是相容的數據類型。

分區相容性不適用於 LONG VARCHAR、LONG VARGRAPHIC、CLOB、DBCLOB 和 BLOB 數據類型,因為它們不能作為分區鍵。

並置

並置(collocation)是安置同一個數據庫分區中包含相關數據的不同表中的行。並置的表使 DB2 可以更有效地使用連接策略。

您可能會發現,作為對特定查詢的響應,兩個或多個表頻繁地提供數據。在此情況下,您會希望這樣的表中的相關數據的位置盡可能地靠近。在數據庫被物理地劃分為兩個或多個數據庫分區的環境中,必須有一種方法可將劃分的表的相關碎片盡可能地靠近。完成此過程的功能稱為表並置。

當存取用於連接或子查詢的多個表時,DB2(R) 通用數據庫(DB2 UDB)能夠識別要連接的數據是否位於相同數據庫分區上。於是 DB2 就可以在存儲數據的數據庫分區上執行連接或子查詢,而不必在數據庫分區之間移動數據。這種局部地執行連接或子查詢的能力具有顯著的性能優點。

要發生並置,表必須:

在相同數據庫分區組中,且這個數據庫分區組不能處在再分配期間。(在再分配期間,數據庫分區組中的表可能使用不同的分區映射 —— 它們不是並置的。)

有包含相同數量的列的分區鍵。

分區鍵的相應列是分區相容的。

如果一個表在一個單分區數據庫分區組中,且該分區組是在另一個表所在的同一個分區上定義的,那麼也可以發生並置。

總結:

比如int, char, varchar之類能夠被散列的數據類型就是分區相容性得,其他類似LOB, LF等類型不能被散列的就不是

對於並置,比如我有兩個表A,B,其中A包含列c1 int, c2 char,B包含c1 varchar, c2 int

然後表A按照c1分區,表B按照c2分區,也就是說,當用戶插入一行數據到表A,首先會對A.c1進行散列,然後模分區數量,把新的數據插入相應的分區,而對於表B則是對B.c2進行相同演算法散列。

這樣當查詢select * from c1,c2 where A.c1=B.c2的時候,由於A.c1和B.c2的數據類型相同,使用相同的散列演算法,如果A.c1與B.c2相等,那麼他們肯定在同一分區,這樣的話進行join的時候就不需要再分區間移動數據,只需要在本分區join完後向coord partition返回數據。

(責任編輯:盧兆林)


[ 發表評論 ] 字體[  ] [ 列印 ] [ 進入博客 ] [ 進入論壇 ]  [ 推薦給朋友 ]
  相關文章
· DB2中創建一個獲取漢字拼音首字母的SQL函數 (07-14) · DB2數據庫導出表結構與導入導出表數據 (07-11)
· 講解捕獲IBM DB2 SQL的執行快照的方法 (07-07) · DB2數據庫更新執行計劃的幾個常見的方法 (07-07)
· 最簡單的SQL Server數據庫存儲過程分頁 (07-01) · 全面解析IBM DB2數據庫移植的常見問題 (06-30)
· 全面解析IBM DB2數據庫移植的常見問題 (06-30) · DB2數據庫控制中心亂碼問題解決方法集合 (06-25)
· DB2數據庫命令行處理器中的語句執行問題 (06-25) · 在AIX HA環境中安裝DB2時的七個注意事項 (06-25)
  客戶需求反饋表
* 姓  名:
更多資料  了解方案  認識廠商
* 單位名稱:
* 聯繫電話:
* 電子郵件:
  賽迪推薦  
  手機·資費 ·新品·導購·評測·手機資費·寬帶
手機搜索  諾基亞 N73 MOTO Z6
  IT產品 ·筆記本·臺式機·伺服器·列印·投影
IT產品搜索 
  IT技術 ·開發·網管·安全·數據庫·作業系統
  資訊化 ·熱點·專題·訪談·週刊·方案案例
· 資訊化市場百家爭鳴 SaaS深陷爭議“泥潭”
· 提高管理水準 "兩棲"CIO應具備的六大能力
· 國產ITIL運維先行者 四大廠商角力BI市場
· 金融行業GSN專題解決方案 企業網解決方案
  IT博客 ·曾劍秋·項立剛·Java學習·網管
  IT技術論壇 ·開發·網管·安全·數據庫·系統