av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

DB2并行版本中的查詢優(yōu)化登峰造極!

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

創(chuàng)新互聯(lián):自2013年創(chuàng)立以來為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為上千家公司企業(yè)提供了專業(yè)的成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計和網(wǎng)站推廣服務(wù), 按需網(wǎng)站策劃由設(shè)計師親自精心設(shè)計,設(shè)計的效果完全按照客戶的要求,并適當?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競爭對手,根據(jù)客戶的實際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。

查詢

1、簡介

SN, GAMMA, BUBBA,

SM, XPRS

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

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

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

支持 HASH 數(shù)據(jù)分片,擴展了 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 函數(shù)是系統(tǒng)內(nèi)置的。不同表在分片列上屬性值相同的元組被劃分到同一個結(jié)點。這樣的表稱為 collocated 。于是在這些表上的等值連接稱為 collocated joins 。例如 PARTSx (Partkey=Partkey) PARTSUPP 。

2 、查詢優(yōu)化

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

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

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

2.1 擴展的操作符

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

(1) 用于控制多個子任務(wù)協(xié)同執(zhí)行的操作——協(xié)調(diào)者;

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

2.2 分片方法

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

2.3 查詢優(yōu)化和查詢計劃生成

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

1) 在自底向上產(chǎn)生DB2 并行版本中的查詢執(zhí)行計劃的時候,累計每個結(jié)點所占用的系統(tǒng)資源,其中的***值作為系統(tǒng)響應(yīng)時間。忽略了協(xié)調(diào)者的執(zhí)行代價,以及多進程干擾的復(fù)雜性;

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

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

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

2.4 所有操作的并行化

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

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

3、帶有子查詢的 Insert 語句, Update 和 Delete 語句—— Insert 語句和子查詢可能是 collocated ?;蛘卟捎?directing 方式。 Update 和 Delete 總是和相應(yīng)的查詢 collocated ( Update 如果發(fā)生在分片屬性上,還需要考慮重新分片受到影響的元組)。

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

5、子查詢——把子查詢的結(jié)果發(fā)送到計算包含子查詢的謂詞的節(jié)點采用 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. ));  

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

 
 
 
  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) 避免為每個外查詢產(chǎn)生的元組啟動一個子DB2 并行版本中的查詢,這樣的代價太大了;

(2) 保證產(chǎn)生外查詢元組的不同節(jié)點不會因為子查詢的執(zhí)行而串行化;

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

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


名稱欄目:DB2并行版本中的查詢優(yōu)化登峰造極!
文章源于:http://uogjgqi.cn/article/dpshjss.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流