成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

DB2 并行版本中的查詢優化登峰造極!

數據庫
以下的文章主要向大家講述的是DB2 并行版本中的查詢優化的操作流程,以及對查詢優化與查詢計劃生成、所有操作的并行化的內容描述。

此文章主要向大家講述的是DB2 并行版本中的查詢優化的操作步驟,同時本文也有對查詢優化與查詢計劃生成、所有操作的并行化以及子查詢處理需要注意的問題包括那些內容的描述,以下就是文章的主要內容講述。

查詢

 

1、簡介

 

SN, GAMMA, BUBBA,

 

SM, XPRS

 

DB2 Parallel Edition(DB2 PE) 運行于 AIX 并行機上,例如 SP2 等。它基于 SN 的體系結構和 Function Shipping 執行模型,提供了可擴展性和大處理能力。基于代價優化,其代價考慮了 CPU 、 IO 和消息傳遞。保證 ACID 特性,并行化的工具包括:

 

Load,Import,Reorganize Data,Create Index。還提供了一個并行數據重組織工具 Redistribute 有效的更正和處理負載不均衡。 Function shipping 指的是在數據存儲地點進行相應的數據操作,進行必要的數據過濾,從而減少網絡之間傳遞的數據量。系統設置了服務協調者,負責接受用戶輸入的 SQL 語句、分發查詢執行任務和返回最終結果。除此之外,需要做的工作有:

 

生成并行DB2 并行版本中的查詢執行計劃、數據和控制流、進程管理、并行事務和封鎖管理、并行工具。

 

支持 HASH 數據分片,擴展了 DDL :

 

  1. CREATE NODEGROUP GROUP_1 ON ONODES(1 TO 32,40,45,48);   
  2. CREATE TABLE PARTS(Partkey integer, Partno integer) IN GROUP_1   
  3. PARTITIONING KEY(Partkey) USING HASHING;   
  4. CREATE TABLE PARTSUPP(Partkey integer, Suppkey integer) IN GROUP_1   
  5. PARTITIONING KEY(Partkey) USING HASHING;  

HASH 函數是系統內置的。不同表在分片列上屬性值相同的元組被劃分到同一個結點。這樣的表稱為 collocated 。于是在這些表上的等值連接稱為 collocated joins 。例如 PARTSx (Partkey=Partkey) PARTSUPP 。

 

2 、查詢優化

 

(1) 代價優化——考慮了操作的固有并行性和消息通訊的代價;

 

(2) 綜合利用數據分布信息——利用基表和中間結果表的數據分布和分片信息;

 

(3) 透明的并行性——幾乎不需要從重寫查詢。

 

2.1 擴展的操作符

 

系統可以利用串行版本的基本操作,例如 Scan 等,但是還需要擴展:

 

(1) 用于控制多個子任務協同執行的操作——協調者;

 

(2) 進程間通訊操作 send/receive , send 可以是廣播或者單播, receive 可以是 merge 多個有序的輸入,也可以是 FIFO。

 

2.2 分片方法

 

DB2 的分片方法可以看作一個有效的負載均衡工具。優化器充分利用分片和結點組的信息,優化查詢,例如 collocated joins。

 

2.3 查詢優化和查詢計劃生成

 

查詢優化器所做的主要工作有: 1) 選擇優化的連接次序, 2) 確定基本表的存取方法和連接方式, 3) 決定操作的執行結點,例如數據的重新分片, 4) 計算查詢執行代價要考慮系統資源消耗和響應時間。 DB2 PE 采用了簡化的規則:

 

1) 在自底向上產生DB2 并行版本中的查詢執行計劃的時候,累計每個結點所占用的系統資源,其中的***值作為系統響應時間。忽略了協調者的執行代價,以及多進程干擾的復雜性;

 

2) 在所有可能執行連接的節點子集中決定執行結點時,只考慮其中的一部分結點,例如內表分片所在的結點,外表分片所在的結點,以及其他的一些結點(沒有具體的說明)。由此簡化了計劃生成的搜索空間,保持在串行搜索空間的線性比例上。

 

連接操作的執行方法包括: collocated, directed, broadcast, repartitioned 。 directed join 指的是連接在一個輸入關系所在的節點進行,而把另外一個關系的元組發送到適當的節點(例如在一個輸入關系的分片屬性上做等值連接)。 repartitioned join 指的是重新分布輸入的連個關系,例如做等值連接時。 broadcat join 指的是在連接之前把其中一個關系的元組廣播到另一個關系所在的節點組,這可以對應于任意類型的連接。

 

基于代價的優化——兩階段優化不再適合。數據分片和放置對查詢計劃的選擇有很大的影響。

 

2.4 所有操作的并行化

 

1、聚集操作——在各個子任務執行聚集函數,必要時在全局執行***的處理。對 Group By 子局來說,重新分片可能比直接采用輸入數據具有更好的并行性。

 

2、集合操作——采用 collocated, repartitioned 策略。注意 UNION 可以是一個 N 元操作。

 

3、帶有子查詢的 Insert 語句, Update 和 Delete 語句—— Insert 語句和子查詢可能是 collocated 。或者采用 directing 方式。 Update 和 Delete 總是和相應的查詢 collocated ( Update 如果發生在分片屬性上,還需要考慮重新分片受到影響的元組)。

 

4、外連接——主要的策略與普通的連接一致,但是要避免產生多個由于沒有匹配元組而產生的結果元組。

 

5、子查詢——把子查詢的結果發送到計算包含子查詢的謂詞的節點采用 collocated, directed, broadcast 方法。

 

3. 子查詢的處理

 

嵌套查詢的例子:

 

  1. select *  
  2. from t1  
  3. where t1.a in (select b   
  4. from t2   
  5. where t2.c = t1.a and t2.d in (select b   
  6. from t3   
  7. where t3.a = 10   
  8. ));  

最里面的子查詢只需要執行一次即可。但是下面的查詢則不然:

 

  1. select *  
  2. from t1   
  3. where t1.a in ( select b   
  4. from t2   
  5. where t2.c = t1.a and t2.d in ( select b   
  6. from t3   
  7. where t3.a = t1.f   
  8. ));   

子查詢處理需要注意的問題包括:

(1) 避免為每個外查詢產生的元組啟動一個子DB2 并行版本中的查詢,這樣的代價太大了;

 

(2) 保證產生外查詢元組的不同節點不會因為子查詢的執行而串行化;

 

(3) 保證正確的外查詢節點得到執行的結果;

 

(4) 盡量下移謂詞,從而減少數據的傳輸。

【編輯推薦】

  1. DB2在線備份,以及重定向恢復實戰演習!
  2. DB2數據庫備份,恢復命令的操作經驗總結
  3. DB2 Online備份的操作方案“盛宴”
  4. DB2重定向恢復失敗“水到渠成”
  5. 備份DB2數據庫在AIX上誰說很拽?

 

責任編輯:佚名 來源: 千家綜合布線網
相關推薦

2010-08-31 15:08:14

DB2INSERT優化

2010-11-04 15:39:40

DB2 SQL語句

2011-03-21 09:51:04

DB2性能優化

2010-09-30 15:52:55

DB2循環查詢

2011-05-27 16:00:10

DB2

2010-09-30 14:44:20

DB2遞歸查詢

2010-11-04 15:34:20

DB2索引優化

2010-11-02 11:08:11

DB2循環查詢

2011-05-27 14:28:33

DB2

2010-08-02 16:38:39

DB2 UDB for

2011-05-27 15:24:28

DB2

2012-08-01 14:23:35

IBMdW

2010-08-17 17:29:06

DB2性能優化

2010-08-19 14:54:07

DB2 優化器

2010-09-30 14:48:26

DB2查詢

2010-09-01 11:39:17

DB2聚集目標表

2010-09-30 15:29:56

DB2查詢管理

2010-09-06 16:16:20

DB2 優化器

2013-01-18 10:44:30

IBMdW

2010-08-18 09:26:56

DB2性能調優
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区二区视频 | 日本成人中文字幕 | 亚洲第一网站 | 国产精品成人一区二区三区吃奶 | 黄色在线网站 | 狠狠的日| 国产成人99久久亚洲综合精品 | 国产一卡二卡三卡 | 成人亚洲网站 | 天天色天天色 | 欧洲精品在线观看 | 在线观看涩涩视频 | 精品国产乱码久久久久久老虎 | 亚洲免费视频在线观看 | 欧美综合国产精品久久丁香 | 久久久久亚洲国产| 6080yy精品一区二区三区 | 国产 欧美 日韩 一区 | 欧美日韩a | 欧美一区二区在线观看 | 水蜜桃久久夜色精品一区 | 国产精品欧美一区二区三区 | 亚州av| 中文字幕日韩欧美 | 国产91丝袜在线18 | 粉嫩一区二区三区性色av | 欧美成人a∨高清免费观看 欧美日韩中 | 北条麻妃99精品青青久久 | 一级做a爰片性色毛片16 | 黄色a三级 | 午夜一区 | 成人片网址 | 午夜影晥 | 国产传媒视频在线观看 | 欧美国产日韩在线 | 手机av在线 | 日本一级淫片免费啪啪3 | 国产精品一区二区不卡 | 日韩国产欧美在线观看 | 北条麻妃99精品青青久久主播 | 欧美日韩在线精品 |