婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > 詳解GaussDB(DWS) explain分布式執(zhí)行計(jì)劃的示例

詳解GaussDB(DWS) explain分布式執(zhí)行計(jì)劃的示例

熱門標(biāo)簽:股票配資電銷機(jī)器人 電銷機(jī)器人 深圳 在電子版地圖標(biāo)注要收費(fèi)嗎 外呼系統(tǒng)會(huì)封嗎 地圖標(biāo)注如何弄全套標(biāo) 萬利達(dá)綜合醫(yī)院地圖標(biāo)注點(diǎn) 武漢AI電銷機(jī)器人 南京電銷外呼系統(tǒng)哪家好 實(shí)體店地圖標(biāo)注怎么標(biāo)

摘要:本文主要介紹如何詳細(xì)解讀GaussDB(DWS)產(chǎn)生的分布式執(zhí)行計(jì)劃,從計(jì)劃中發(fā)現(xiàn)性能調(diào)優(yōu)點(diǎn)。前言

執(zhí)行計(jì)劃(又稱解釋計(jì)劃)是數(shù)據(jù)庫執(zhí)行SQL語句的具體步驟,例如通過索引還是全表掃描訪問表中的數(shù)據(jù),連接查詢的實(shí)現(xiàn)方式和連接的順序等。如果 SQL 語句性能不夠理想,我們首先應(yīng)該查看它的執(zhí)行計(jì)劃。本文主要介紹如何詳細(xì)解讀GaussDB(DWS)產(chǎn)生的分布式執(zhí)行計(jì)劃,從計(jì)劃中發(fā)現(xiàn)性能調(diào)優(yōu)點(diǎn)。

1、執(zhí)行算子介紹

要讀懂執(zhí)行計(jì)劃,首先要知道數(shù)據(jù)庫執(zhí)行算子的概念:

下面重點(diǎn)介紹下基于sharing nothing的分布式計(jì)劃中最重要的一類算子——STREAM算子

三種類型的stream算子

1)Gather Stream(N:1) – 每個(gè)源結(jié)點(diǎn)都將其數(shù)據(jù)發(fā)送給目標(biāo)結(jié)點(diǎn)

2)Redistribute Stream(N:N) – 每個(gè)源節(jié)點(diǎn)將其數(shù)據(jù)根據(jù)連接條件計(jì)算Hash值,根據(jù)重新計(jì)算的Hash值進(jìn)行分布,發(fā)給對(duì)應(yīng)的目標(biāo)節(jié)點(diǎn)

3)Broadcast Stream(1:N) – 由一個(gè)源節(jié)點(diǎn)將其數(shù)據(jù)發(fā)給N個(gè)目標(biāo)節(jié)點(diǎn)

其中1)主要用于CN與DN間的數(shù)據(jù)交換,2)與3)主要用于DN間的數(shù)據(jù)交換

2、EXPLAIN用法

SQL執(zhí)行計(jì)劃是一個(gè)節(jié)點(diǎn)數(shù),顯示執(zhí)一條SQL語句執(zhí)行時(shí)的詳細(xì)步驟。每一個(gè)步驟是一個(gè)數(shù)據(jù)庫運(yùn)算符,也叫作一個(gè)執(zhí)行算子。使用explain命令可以查看優(yōu)化器為每個(gè)查詢生成的具體執(zhí)行計(jì)劃。

1) EXPLAIN的語法

其中,option中COSTS與NODES的默認(rèn)值為ON,其他參數(shù)默認(rèn)為OFF。

說明:

a) EXPLAIN + QUERY并不會(huì)真正執(zhí)行,只會(huì)將計(jì)劃打印出來,指定option中的ANALYZE可以進(jìn)行實(shí)際執(zhí)行

b) PERFORMANCE 選項(xiàng)默認(rèn)會(huì)將所有的選項(xiàng)置為ON,即顯示所有的執(zhí)行信息。

c) CPU/BUFFER/DETAIL 選項(xiàng)依賴于ANALYZE,只有ANALYZE置為ON的時(shí)候,才能使用這幾個(gè)選項(xiàng)。

d) DETAIL選項(xiàng)用來控制輸出,DETAIL 置為ON時(shí),會(huì)顯示各個(gè)DN上具體的執(zhí)行信息;DATAIL 置為OFF時(shí),顯示所有DN的匯總信息,即最大最小值信息。

2) EXPLAIN顯示格式

GaussDB中提供了兩種顯示格式(normal/pretty),通過設(shè)置參數(shù)explain_perf_mode進(jìn)行控制。其中,normal格式為默認(rèn)的顯示格式。

normal格式如下:

pretty格式如下:

改進(jìn)后的顯示格式,層次清晰,計(jì)劃包含了plan node id,性能分析會(huì)更加簡(jiǎn)單直接。

使用之前可以使用show explain_perf_mode;來查看當(dāng)前數(shù)據(jù)庫使用的顯示風(fēng)格。

同時(shí)可以使用set explain_perf_mode=pretty/normal;來設(shè)置輸出的格式。

3、示例計(jì)劃解讀(每個(gè)算子資源消耗、耗時(shí)等等)

1) 四中常見類型計(jì)劃

建表語句:

a) FQS計(jì)劃,完全下推,下發(fā)query

兩表JOIN,且其連接條件為各表的分布列,在關(guān)閉stream算子的情況下,CN會(huì)直接將該語句發(fā)送至各DN執(zhí)行,最后結(jié)果在CN匯總。

b) 非FQS計(jì)劃,部分語句下推

兩表JOIN,且連接條件中包含非分布列,此時(shí)在關(guān)閉stream算子的情況下,CN會(huì)將基表掃描語句下發(fā)至各DN,然后在CN上進(jìn)行JOIN。

c) Stream計(jì)劃,DN之間無數(shù)據(jù)交換

兩表JOIN,且連接條件為各表的分布列,因此各DN無需數(shù)據(jù)交換。CN生成stream計(jì)劃后,將除Gather Stream的計(jì)劃下發(fā)給DN執(zhí)行,在各個(gè)DN上進(jìn)行基表 掃描,并進(jìn)行哈希連接后,發(fā)送給CN。

d) Stream計(jì)劃,DN之間存在數(shù)據(jù)交換

兩表JOIN,且連接條件包含非分布列,在開啟stream算子的情況下,會(huì)生成stream計(jì)劃,其DN間存在數(shù)據(jù)交換。此時(shí)對(duì)于tt02表,會(huì)在各DN進(jìn)行基表掃描,掃描后會(huì)通過Redistribute Stream算子,按照J(rèn)OIN條件中的tt02.c1進(jìn)行哈希計(jì)算后重新發(fā)送給各DN,然后在各DN上做JOIN,最后匯總到CN。

2) explain performance詳解

a) 執(zhí)行計(jì)劃

•id:執(zhí)行算子節(jié)點(diǎn)編號(hào)。

•operation:具體的執(zhí)行節(jié)點(diǎn)算子名稱。

•A-time:各DN相應(yīng)算子執(zhí)行時(shí)間,[]中左側(cè)為最小值,右側(cè)為最大值,包括下層算子執(zhí)行時(shí)間。

•A-rows:相應(yīng)算子輸出的全局總行數(shù)。

•E-rows:每個(gè)算子估算的輸出行數(shù)。

•Peak Memory:各DN相應(yīng)算子消耗內(nèi)存峰值,[]中左側(cè)為最小值,右側(cè)為最大值。

•E-memory:DN上每個(gè)算子估算的內(nèi)存使用量,只有DN上執(zhí)行的算子會(huì)顯示。某些場(chǎng)景會(huì)在估算的內(nèi)存使用量后使用括號(hào)顯示該算子在內(nèi)存源充足下可以自動(dòng)擴(kuò)展的內(nèi)存上限。

•E-width:每個(gè)算子輸出元組的估算寬度。

•E-costs:每個(gè)算子估算的執(zhí)行代價(jià)。

b) 謂詞過濾

顯示對(duì)應(yīng)執(zhí)行算子節(jié)點(diǎn)的過濾條件

c) 內(nèi)存使用

主要顯示CN的最大內(nèi)存用量、DN最大內(nèi)存用量、各算子的最大內(nèi)存用量、各算子預(yù)估內(nèi)存用量、Stream線程的啟動(dòng)以及收發(fā)時(shí)間。

d) Targetlist Information

各個(gè)算子對(duì)應(yīng)的輸出目標(biāo)列信息。

e) DN信息

各算子的執(zhí)行時(shí)間、Buffer、CPU信息

f) 自定義信息

CN與DN之間的建連信息、DN與DN之間的建連信息。

g) 匯總信息

DN執(zhí)行器開始時(shí)間,[min_node_name, max_node_name] : [min_time, max_time]DN執(zhí)行器結(jié)束時(shí)間,[min_node_name, max_node_name] : [min_time, max_time]Remote query poll time:接收結(jié)果時(shí)用于poll等待的時(shí)間CN執(zhí)行器開始、運(yùn)行及結(jié)束時(shí)間網(wǎng)絡(luò)流量,stream算子發(fā)送的數(shù)據(jù)量?jī)?yōu)化器執(zhí)行期時(shí)間查詢ID總執(zhí)行時(shí)間

h) 執(zhí)行時(shí)間介紹

每個(gè)算子的執(zhí)行信息都包含三個(gè)部分:

其中:

dn_6001_6002/dn_6003_6004 表示具體執(zhí)行的節(jié)點(diǎn)信息,括號(hào)中的信息是實(shí)際的執(zhí)行信息actualtime=0.013..2290.971 表示實(shí)際的執(zhí)行時(shí)間

第一個(gè)數(shù)字表示執(zhí)行時(shí)進(jìn)入當(dāng)前算子到輸出第一條數(shù)據(jù)所花費(fèi)的時(shí)間

第二個(gè)數(shù)字為輸出所有數(shù)據(jù)的總執(zhí)行時(shí)間

注意:在整個(gè)計(jì)劃中,除了葉子節(jié)點(diǎn)的執(zhí)行時(shí)間是算子本身的執(zhí)行時(shí)間,其余算子的執(zhí)行時(shí)間均包含子節(jié)點(diǎn)的執(zhí)行時(shí)間。

在該計(jì)劃中,7號(hào)節(jié)點(diǎn)和9號(hào)節(jié)點(diǎn)為葉子節(jié)點(diǎn),其余節(jié)點(diǎn)均為非葉子簡(jiǎn)介。1號(hào)節(jié)點(diǎn)時(shí)頂層節(jié)點(diǎn),所以該節(jié)點(diǎn)的執(zhí)行時(shí)間就可以作為整個(gè)查詢的執(zhí)行時(shí)間。

rows=2001550 表示當(dāng)前算子輸出數(shù)據(jù)為2001550行;loops=1 表示當(dāng)前算子的只執(zhí)行了一次,而對(duì)于分區(qū)表的掃描(7號(hào)節(jié)點(diǎn))來說:

該層掃描算子的loops為7,對(duì)于分區(qū)表,每一個(gè)分區(qū)表的掃描就是一次完整的掃描操作,當(dāng)切換到下一個(gè)分區(qū)的時(shí)候,又是一次新的查詢操作,查詢?cè)摫矶x如下:

Inventory表有7個(gè)分區(qū),所以就執(zhí)行了7次表掃描操作,因此loops=7。

i) CPU信息介紹

每個(gè)算子執(zhí)行的過程都有CPU信息,其中cyc代表的是CPU的周期數(shù),ex cyc表示的是當(dāng)前算子的周期數(shù),不包含其子節(jié)點(diǎn);inc cyc是包含子節(jié)點(diǎn)的周期數(shù);ex row是當(dāng)前算子輸出的數(shù)據(jù)行數(shù);ex c/r則是ex cyc/ex row得到的每條數(shù)據(jù)所用的平均周期數(shù)。

j) Buffer信息介紹

buffers顯示緩沖區(qū)信息,包括共享塊和臨時(shí)塊的讀和寫。

共享塊包含表和索引,臨時(shí)塊在排序和物化中使用的磁盤塊。上層節(jié)點(diǎn)顯示出來的塊數(shù)據(jù)包含了其所有子節(jié)點(diǎn)使用的塊數(shù)。

Buffers涉及的參數(shù)有兩種,分別為:shared和temp,及shared hit/read/dirtied/written以及temp read/write

Hit blocks:代表從磁盤里面讀到的數(shù)據(jù)塊數(shù)

Dirtied blocks:代表當(dāng)前查詢中被修改了的并且此前未被修改的數(shù)據(jù)塊數(shù)

Written blocks:代表當(dāng)前線程將shared bufer里被修改的數(shù)據(jù)寫回到磁盤的塊數(shù)

k) 執(zhí)行內(nèi)存

其中:

Peak Memory:5KB 表示當(dāng)前算子實(shí)際執(zhí)行時(shí)使用的峰值內(nèi)存;

Estimate Memory:1024MB 表示預(yù)估的內(nèi)存,為優(yōu)化器給出的預(yù)估值。

l) 其他執(zhí)行信息

(1)sort 算子,會(huì)顯示排序信息

Sort Method代表排序的方法,包括quicksort(快排)和disksort(外排)。快排即內(nèi)存夠用時(shí),所有的排序操作均在內(nèi)存中完成,外排說明當(dāng)前可用內(nèi)存不足,需要下盤。

(2)hashjoin算子

Buckets:代表hash表中實(shí)際使用的桶的個(gè)數(shù)

Batches:代表hashjoin中實(shí)際分塊的數(shù)量。如果Batches=1,則說明所有的數(shù)據(jù)全在內(nèi)存中,沒有下盤操作;反之則說明有下盤操作,Batches - 1代表臨時(shí)文件的個(gè)數(shù)。

Memory Usage:就是hashjoin中內(nèi)存的使用情況

(3)hashagg算子

如果發(fā)生數(shù)據(jù)下盤,會(huì)有File Num:512信息,顯示臨時(shí)文件的個(gè)數(shù)。

(4)stream算子

stream算子的會(huì)統(tǒng)計(jì)當(dāng)前算子處理數(shù)據(jù)的字節(jié)數(shù),其從子線程獲取數(shù)據(jù)的時(shí)間(poll time)以及處理數(shù)據(jù)的時(shí)間(Deserialize Time)。

stream算子的子節(jié)點(diǎn)會(huì)統(tǒng)計(jì)發(fā)送端的時(shí)間信息,如下:

發(fā)送時(shí)間Send time,排隊(duì)時(shí)間Wait Quota time, OS發(fā)送時(shí)間以及數(shù)據(jù)處理的時(shí)間。

3) explain 調(diào)優(yōu)示例

一個(gè)查詢語句要經(jīng)過多個(gè)算子步驟才會(huì)輸出最終的結(jié)果。由于個(gè)別算子耗時(shí)過長(zhǎng)導(dǎo)致整體查詢性能下降的情況比較常見。這些算子是整個(gè)查詢的瓶頸算子。通用的優(yōu)化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看執(zhí)行過程的瓶頸算子,然后進(jìn)行針對(duì)性優(yōu)化。

基表掃描時(shí),對(duì)于點(diǎn)查或者范圍掃描等過濾大量數(shù)據(jù)的查詢,如果使用SeqScan全表掃描會(huì)比較耗時(shí),可以在條件列上建立索引選擇IndexScan進(jìn)行索引掃描提升掃描效率。如下示例:

上述例子中,全表掃描返回3360條數(shù)據(jù),過濾掉大量數(shù)據(jù),在sssolddate_sk列上建立索引后,使用IndexScan掃描效率顯著提高,從960毫秒提升到8毫秒。

結(jié)語:

在調(diào)優(yōu)過程中,熟練使用explain并能分析各部分?jǐn)?shù)據(jù)結(jié)果是非常重要的。本文中僅僅介紹了大多數(shù)字段的含義以及根據(jù)explain結(jié)果進(jìn)行調(diào)優(yōu)的一個(gè)小示例,還可以與plan hint結(jié)合使用找出執(zhí)行的最佳路徑,也可以定位傾斜程度等等。

到此這篇關(guān)于詳解GaussDB(DWS) explain分布式執(zhí)行計(jì)劃的文章就介紹到這了,更多相關(guān)GaussDB(DWS)分布式執(zhí)行計(jì)劃內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • gaussdb 200安裝 data studio jdbc idea鏈接保姆級(jí)安裝步驟
  • 詳解GaussDB for MySQL性能優(yōu)化
  • gaussDB數(shù)據(jù)庫常用操作命令詳解

標(biāo)簽:臺(tái)州 濟(jì)源 汕頭 武威 廣東 泰安 安徽 濟(jì)寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解GaussDB(DWS) explain分布式執(zhí)行計(jì)劃的示例》,本文關(guān)鍵詞  詳解,GaussDB,DWS,explain,分布式,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解GaussDB(DWS) explain分布式執(zhí)行計(jì)劃的示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解GaussDB(DWS) explain分布式執(zhí)行計(jì)劃的示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美大胆人体bbbb| 日韩午夜中文字幕| 视频一区国产视频| 国产精品久久久久桃色tv| 日韩欧美在线影院| 欧美一级爆毛片| 91国产免费观看| 丁香婷婷综合色啪| 国产精一区二区三区| 亚洲电影在线播放| 亚洲免费在线视频| 国产精品二区一区二区aⅴ污介绍| 日韩视频一区二区三区| 精品日韩99亚洲| 久久蜜桃香蕉精品一区二区三区| 欧美刺激脚交jootjob| 精品1区2区在线观看| 欧美精品一区男女天堂| 精品国产凹凸成av人导航| 精品99一区二区三区| 久久久精品2019中文字幕之3| 精品国产成人在线影院 | 欧美剧情片在线观看| 欧美综合色免费| 欧美一二三区在线观看| 精品91自产拍在线观看一区| 中文字幕不卡一区| 一区二区三区欧美在线观看| 免费在线欧美视频| 国产成人精品一区二| 欧美午夜精品理论片a级按摩| 欧美一区二视频| 亚洲欧美国产77777| 日本欧美一区二区三区| 国产精品小仙女| 精品国产乱码久久| 亚洲精品美国一| 国产麻豆日韩欧美久久| 色噜噜狠狠色综合中国| 国产婷婷精品av在线| 亚洲一区中文日韩| av一区二区三区在线| 日韩欧美高清在线| 亚洲成人av资源| 在线精品视频免费观看| 日本一区二区成人| 久久精品国产澳门| 欧美老肥妇做.爰bbww| 国产精品区一区二区三区| 蜜臀久久99精品久久久久宅男 | 亚洲欧美日韩人成在线播放| 精品一区二区综合| 日韩美女视频在线| 久久国产精品99久久人人澡| 欧美情侣在线播放| 午夜视频一区二区三区| 欧洲精品视频在线观看| 亚洲日本在线看| 欧美日韩日日骚| 免费一级欧美片在线观看| 欧美日韩精品久久久| 美女尤物国产一区| 久久综合精品国产一区二区三区| 国产一区二区三区四区五区美女| 911国产精品| 首页欧美精品中文字幕| 欧美色视频在线观看| 久久久久高清精品| 亚洲综合久久久久| 91精品麻豆日日躁夜夜躁| 裸体在线国模精品偷拍| 国产亚洲人成网站| 粉嫩av亚洲一区二区图片| 欧美日本乱大交xxxxx| 一区二区三区成人| 久久久99久久精品欧美| 亚洲免费观看高清完整版在线观看熊 | yourporn久久国产精品| 国产精品一区2区| 精品美女一区二区| 一区二区三区欧美在线观看| 97成人超碰视| 久久一区二区视频| 日韩不卡一区二区三区| 欧美性感一类影片在线播放| 亚洲欧美另类小说| 欧亚洲嫩模精品一区三区| 夜色激情一区二区| 91超碰这里只有精品国产| 美女视频黄 久久| 一区二区成人在线观看| 精品国精品自拍自在线| 欧美在线999| 成人精品高清在线| 国产乱码精品一区二区三区忘忧草 | 国产一区二区美女诱惑| 日韩精品欧美精品| 亚洲制服丝袜av| 一区二区三区日韩精品视频| 亚洲激情男女视频| 亚洲黄色尤物视频| 一区二区三区在线视频观看| 一区二区三区久久| 一区二区三区美女| 亚洲一区二区欧美| 日韩电影在线一区二区三区| 青青草精品视频| 久草中文综合在线| 国产成人精品一区二| av电影一区二区| 日本高清不卡视频| 欧美日韩成人高清| 欧美不卡123| 久久久噜噜噜久久中文字幕色伊伊| 2021中文字幕一区亚洲| 国产精品视频一二三| 亚洲激情图片qvod| 日本vs亚洲vs韩国一区三区二区| 国模大尺度一区二区三区| 成人综合在线观看| 在线观看视频91| 欧美电影免费观看高清完整版| 久久综合成人精品亚洲另类欧美 | 中文字幕欧美激情| 中文字幕一区二区三区在线观看| 中文字幕一区二区三区精华液 | 亚洲黄色在线视频| 热久久一区二区| 国产乱码精品一区二区三区五月婷| 国产91综合网| 在线免费观看一区| 欧美tk丨vk视频| 中文字幕一区二区三区在线播放| 亚洲自拍偷拍欧美| 精品一区二区免费视频| 99久久伊人网影院| 欧美日产在线观看| 久久亚洲二区三区| 亚洲影视在线观看| 国产伦理精品不卡| 欧美三级中文字幕| 亚洲精品在线网站| 亚洲精品ww久久久久久p站| 免费看欧美女人艹b| 成人av在线资源网站| 欧美精品一卡两卡| 成人网在线播放| 亚洲成国产人片在线观看| 久久超级碰视频| 在线一区二区三区做爰视频网站| 欧美成人aa大片| 亚洲午夜在线电影| 成人丝袜高跟foot| 日韩欧美国产午夜精品| 亚洲视频资源在线| 国产在线精品视频| 欧美手机在线视频| 中文字幕在线不卡| 国产一级精品在线| 7777女厕盗摄久久久| 中文字幕在线不卡国产视频| 喷水一区二区三区| 色av综合在线| 亚洲国产精品av| 久久精品国产77777蜜臀| 在线欧美小视频| 国产精品久久久久久福利一牛影视 | 欧美亚洲一区三区| 久久精品一区二区三区av| 婷婷开心激情综合| 91捆绑美女网站| 欧美激情一区三区| 韩国在线一区二区| 日韩欧美一卡二卡| 亚洲国产精品欧美一二99| 99久久久无码国产精品| 欧美国产精品劲爆| 国产一区91精品张津瑜| 在线不卡一区二区| 午夜欧美视频在线观看| 91久久久免费一区二区| 亚洲欧美自拍偷拍色图| 成人中文字幕合集| 久久久久亚洲综合| 韩国v欧美v日本v亚洲v| 这里只有精品免费| 丝袜美腿成人在线| 欧美精品自拍偷拍| 亚洲v中文字幕| 欧美绝品在线观看成人午夜影视| 欧美一区二区在线观看| 亚洲第一会所有码转帖| 91精品国产综合久久国产大片| 亚洲成a人在线观看| 制服.丝袜.亚洲.中文.综合| 国产一区二区三区美女| 国产精品国模大尺度视频| 欧美在线观看一二区| 麻豆精品一区二区| 综合久久给合久久狠狠狠97色|