達(dá)夢數(shù)據(jù)庫SQL執(zhí)行計劃查看方法

SQL?優(yōu)化作為DBA日常主要工作內(nèi)容,分析SQL的執(zhí)行計劃浆竭,是必須要掌握的知識點挪哄。執(zhí)行計劃體現(xiàn)了SQL在數(shù)據(jù)庫中的執(zhí)行方式吧秕,SQL語句按照什么樣的方式執(zhí)行,是由優(yōu)化器決定的迹炼。達(dá)夢數(shù)據(jù)庫也是一樣砸彬,SQL語句是由優(yōu)化器設(shè)計執(zhí)行方式的。達(dá)夢數(shù)據(jù)庫提供了2個命令來進行分析SQL的執(zhí)行計劃斯入,分別為explain和explain for砂碉,下面我們分別進行介紹。

1?刻两、使用EXPLAIN分析執(zhí)行計劃

達(dá)夢數(shù)據(jù)庫提供explain命令查看SQL的執(zhí)行計劃增蹭,命令使用語法格式為:EXPLAIN <SQL 語句>;

執(zhí)行計劃顯示方式與Oracle類似,執(zhí)行計劃的執(zhí)行順序也是與Oracle類似磅摹,如果能看懂Oracle數(shù)據(jù)庫的執(zhí)行計劃滋迈,看達(dá)夢數(shù)據(jù)庫的執(zhí)行計劃就非常容易了霎奢,主要的難度就是達(dá)夢數(shù)據(jù)庫SQL執(zhí)行計劃的操作符與Oracle是不一樣的,達(dá)夢數(shù)據(jù)庫也是提供了V$SQL_NODE_NAME視圖饼灿,供大家查看每個操作符的含義幕侠,當(dāng)然,也可以直接去官方手冊《DM8系統(tǒng)管理員手冊》-附錄4執(zhí)行計劃操作符章節(jié)來查每個操作符的含義碍彭。達(dá)夢數(shù)據(jù)庫SQL執(zhí)行計劃的執(zhí)行過程為:控制流從上到下傳遞晤硕,數(shù)據(jù)流從下到上傳遞。

1?#NSET2:?[0,?16,?9]

2???#PRJT2:?[0,?16,?9];?EXP_NUM(2),?IS_ATOM(FALSE)

3?????#NEST?LOOP?INDEX?JOIN2:?[0,?16,?9]

4???????#CSCN2:?[0,?4,?5];?INDEX33555535(B)

5???????#SSEK2:?[0,?4,?0];?SCAN_TYPE(ASC),?IDX_T1_C1?(A),

SCAN_RANGE[T2.D1,T2.D1]

例如庇忌,如上的執(zhí)行計劃大致執(zhí)行流程如下:

1) CSCN2:?掃描 T2 表的聚集索引舞箍,數(shù)據(jù)傳遞給父節(jié)點索引連接;

2) NEST LOOP INDEX JOIN2:?當(dāng)左孩子有數(shù)據(jù)返回時取右側(cè)數(shù)據(jù)皆疹;

3) SSEK2:?利用 T2 表當(dāng)前的 D1 值作為二級索引 IDX_T1_C1 定位查找的 KEY疏橄,返回結(jié)果給父節(jié)點;

4) NEST LOOP INDEX JOIN2:?如果右孩子有數(shù)據(jù)則將結(jié)果傳遞給父節(jié)點 PRJT2墙基,否則繼續(xù)取左孩子的下一條記錄软族;

5) PRJT2:?進行表達(dá)式計算 C1+1, D2刷喜;

6) NSET2:?輸出最后結(jié)果残制;

7)?重復(fù)過程 1) ~ 4)直至左側(cè) CSCN2 數(shù)據(jù)全部取完。

2?掖疮、使用EXPLAIN FOR分析執(zhí)行計劃

EXPLAIN FOR?語句也用于查看 SQL語句的執(zhí)行計劃初茶,不過執(zhí)行計劃以結(jié)果集的方式返回。EXPLAIN FOR 顯示的執(zhí)行計劃信息相比于EXPLAIN更加豐富浊闪,除了常規(guī)計劃信息恼布,還包括創(chuàng)建索引建議、分區(qū)表的起止分區(qū)信息等搁宾。重要的是折汞,語句的計劃保存在數(shù)據(jù)表中,方便用戶隨時查看盖腿,進行計劃對比分析爽待,可以作為性能分析的一種方法。

語法格式為:EXPLAIN [AS 計劃名稱] FOR <SQL 語句>;

需要注意的是翩腐,explain for將語句的執(zhí)行計劃保存在"SYSDBA"."##PLAN_TABLE"表中鸟款,而這個表是個臨時表,且是會話級的茂卦,如果需要永久保存執(zhí)行計劃何什,需要將該表中的信息轉(zhuǎn)儲到其他永久表中,如下是該表的創(chuàng)建語句等龙,從語句末尾可以看到給表的屬性处渣。

CREATE?GLOBAL?TEMPORARY?TABLE?"SYSDBA"."##PLAN_TABLE"

(

"PLAN_ID"?INT,

"PLAN_NAME"?VARCHAR(128),

"CREATE_TIME"?DATETIME(6),

"LEVEL_ID"?INT,

"OPERATION"?VARCHAR(30),

"TAB_NAME"?VARCHAR(128),

"IDX_NAME"?VARCHAR(128),

"SCAN_TYPE"?VARCHAR(20),

"SCAN_RANGE"?VARCHAR(128),

"ROW_NUMS"?BIGINT,

"BYTES"?INT,

"COST"?BIGINT,

"CPU_COST"?BIGINT,

"IO_COST"?BIGINT,

"FILTER"?VARCHAR(1000),

"JOIN_COND"?VARCHAR(1000),

"ADVICE_INFO"?VARCHAR(1000),

"PSTART"?INT,

"PSTOP"?INT)

ON?COMMIT?PRESERVE?ROWS?STORAGE(ON?TEMP);

ON COMMIT PRESERVE ROWS?:指定臨時表是會話級的伶贰,會話結(jié)束時會清空表。



https://eco.dameng.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霍比,一起剝皮案震驚了整個濱河市幕袱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悠瞬,老刑警劉巖们豌,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異浅妆,居然都是意外死亡望迎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門凌外,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辩尊,“玉大人,你說我怎么就攤上這事康辑∩阌” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵疮薇,是天一觀的道長胸墙。 經(jīng)常有香客問我,道長按咒,這世上最難降的妖魔是什么迟隅? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮励七,結(jié)果婚禮上智袭,老公的妹妹穿的比我還像新娘。我一直安慰自己掠抬,他們只是感情好吼野,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著两波,像睡著了一般瞳步。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雨女,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天谚攒,我揣著相機與錄音,去河邊找鬼氛堕。 笑死馏臭,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播括儒,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼绕沈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了帮寻?” 一聲冷哼從身側(cè)響起乍狐,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎固逗,沒想到半個月后浅蚪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡烫罩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年惜傲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贝攒。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡盗誊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出隘弊,到底是詐尸還是另有隱情哈踱,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布梨熙,位于F島的核電站开镣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏串结。R本人自食惡果不足惜哑子,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一舅列、第九天 我趴在偏房一處隱蔽的房頂上張望肌割。 院中可真熱鬧,春花似錦帐要、人聲如沸把敞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奋早。三九已至,卻和暖如春赠橙,著一層夾襖步出監(jiān)牢的瞬間耽装,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工期揪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留掉奄,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓凤薛,卻偏偏與公主長得像姓建,于是被迫代替她去往敵國和親诞仓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容