站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

歸納總結(jié)Oracle查詢執(zhí)行計劃

本篇文章給大家?guī)砹岁P(guān)于Oracle的相關(guān)知識,其中主要介紹了關(guān)于查詢執(zhí)行計劃的相關(guān)內(nèi)容,它是數(shù)據(jù)庫執(zhí)行SQL語句的具體步驟和過程,下面一起來看一下,希望對大家有幫助。

歸納總結(jié)Oracle查詢執(zhí)行計劃

推薦教程:《Oracle視頻教程》

執(zhí)行計劃(Execution Plan)也叫查詢計劃(Query Plan),它是數(shù)據(jù)庫執(zhí)行SQL語句的具體步驟和過程。SQL查詢語句的執(zhí)行計劃主要包括:

  • 訪問表的方式。數(shù)據(jù)庫通過索引或全表掃描等方式訪問表中的數(shù)據(jù)。

  • 多表連接的方式。數(shù)據(jù)庫使用什么連接算法實現(xiàn)表的連接,包括多個表的先后訪問順序。

  • 分組聚合以及排序等操作的實現(xiàn)方式。

雖然不同數(shù)據(jù)庫對于SQL查詢的執(zhí)行過程采用了不同的實現(xiàn)方式,但是一個查詢語句大致需要經(jīng)過分析器、優(yōu)化器以及執(zhí)行器的處理并返回最終結(jié)果,同時還可能利用各種緩存來提高訪問性能。

簡單來說,一個查詢語句從客戶端的提交開始,直到服務(wù)器返回最終的結(jié)果,整個過程大致如圖所示。

歸納總結(jié)Oracle查詢執(zhí)行計劃

首先,客戶端提交SQL語句。在此之前客戶端必須連接到數(shù)據(jù)庫服務(wù)器,圖中的連接器就是負責(zé)建立和管理客戶端連接的組件。

然后,分析器(解析器)解析SQL語句的各個組成部分,進行語法分析,并檢查SQL語句的語法是否符合規(guī)范。

例如,以下語句中的FROM關(guān)鍵字錯寫成了FORM:

歸納總結(jié)Oracle查詢執(zhí)行計劃

在這種情況下,所有的數(shù)據(jù)庫管理系統(tǒng)都會返回一個語法錯誤。

然后,優(yōu)化器會利用數(shù)據(jù)庫收集到的統(tǒng)計信息決定SQL語句的最佳執(zhí)行方式。例如,是通過索引還是通過全表掃描的方式訪問單個表,使用什么順序連接多個表,如何實現(xiàn)數(shù)據(jù)的排序等。

優(yōu)化器是決定查詢性能的關(guān)鍵組件,而數(shù)據(jù)庫的統(tǒng)計信息是優(yōu)化器判斷的基礎(chǔ)。

最后,執(zhí)行器根據(jù)優(yōu)化之后的執(zhí)行計劃調(diào)用相應(yīng)的執(zhí)行模塊來獲取數(shù)據(jù),并將結(jié)果返回客戶端。

執(zhí)行計劃的查看方式

方法一:語句查看

在Oracle數(shù)據(jù)庫中,我們同樣可以使用EXPLAIN PLAN FOR命令生成執(zhí)行計劃,不過需要執(zhí)行兩條命令:

歸納總結(jié)Oracle查詢執(zhí)行計劃

EXPLAIN PLAN FOR  SELECT * FROM  T_USER1 t where t.user_name = 'Admin';  SELECT * FROM  TABLE(dbms_xplan.display);

使用EXPLAIN PLAN FOR命令生成執(zhí)行計劃,并將其存儲到系統(tǒng)表PLAN_TABLE中,然后通過一個查詢語句顯示生成的執(zhí)行計劃。

其中dbms_xplan.display是一個Oracle系統(tǒng)函數(shù)。返回的結(jié)果顯示,該語句在Oracle中是通過'SYS_C0016771'索引范圍掃描來查找數(shù)據(jù)的。

歸納總結(jié)Oracle查詢執(zhí)行計劃

方法二:利用工具查看

在常用的Oracle數(shù)據(jù)庫開發(fā)工具PL/SQL中,選擇一段SQL腳本,按F5鍵,即可自動顯示該腳本的執(zhí)行計劃信息,跟方法一查詢出的結(jié)果相同。

歸納總結(jié)Oracle查詢執(zhí)行計劃

執(zhí)行過程分析

在Oracle數(shù)據(jù)庫中,我們可以通過系統(tǒng)表user_indexes和user_ind_columns查詢索引以及相關(guān)的字段信息。

SELECT * FROM  user_indexes;  SELECT * FROM  user_ind_columns;

推薦教程:《Oracle視頻教程》

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
精品久久无码中文字幕| 久久精品夜色国产亚洲av| 国产精品久久久久久无毒不卡| 国产精品久久久久久影院| 久久亚洲精精品中文字幕| 久久久精品一区二区三区| 7777精品久久久大香线蕉| 精品偷自拍另类在线观看丰满白嫩大屁股ass | 日韩A∨精品日韩在线观看| 日韩精品成人a在线观看| 日韩精品无码一区二区三区AV| 国产精品亚洲片在线花蝴蝶| 精品国产柚木在线观看| 成人精品一区二区激情| 无码aⅴ精品一区二区三区| 欧美精品VIDEOSEX性欧美| 亚洲熟妇成人精品一区| 国产精品视频一区二区猎奇| 国产在视频线精品视频2021| 精品国产午夜理论片不卡| 91人妻人人澡人人爽人人精品| 久久综合精品国产二区无码| 老司机性色福利精品视频| 久久久精品国产sm调教网站| 久久精品亚洲中文字幕无码麻豆| 无码人妻精品一区二区三区99仓本| 久久精品国产亚洲AV网站| 久久精品国产96精品亚洲| 久久久久久久国产精品电影| 久久国产精品久久国产片| 亚洲国产精品一区| 久久精品99久久香蕉国产色戒| 精品视频一区二区三三区四区| 亚洲精品国产第1页| 国产精品亚洲精品观看不卡| 国产精品爱啪在线线免费观看| 精品国产一区二区三区色欲| www.999精品视频观看免费| 人妻无码久久精品人妻 | 国产精品线在线精品| 国产精品一区二区无线|