最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle查詢執(zhí)行計劃

 更新時間:2023年04月03日 16:45:50   作者:梁萌  
執(zhí)行計劃(Execution Plan)也叫查詢計劃(Query Plan),它是數(shù)據(jù)庫執(zhí)行SQL語句的具體步驟和過程。本文主要介紹了Oracle查詢執(zhí)行計劃方法,感興趣的同學可以參考閱讀

執(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é)果,同時還可能利用各種緩存來提高訪問性能。

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

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

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

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

在這種情況下,所有的數(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)用相應的執(zhí)行模塊來獲取數(shù)據(jù),并將結(jié)果返回客戶端。

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

方法一:語句查看

在Oracle數(shù)據(jù)庫中,我們同樣可以使用EXPLAIN PLAN FOR命令生成執(zhí)行計劃,不過需要執(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ù)的。

方法二:利用工具查看

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

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

SELECT * FROM  user_indexes;
 
SELECT * FROM  user_ind_columns;

到此這篇關(guān)于Oracle查詢執(zhí)行計劃的文章就介紹到這了,更多相關(guān)Oracle查詢執(zhí)行計劃內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • oracle 創(chuàng)建表空間步驟代碼

    oracle 創(chuàng)建表空間步驟代碼

    oracle 創(chuàng)建表空間步驟代碼,需要的朋友可以參考一下
    2013-03-03
  • Oracle設置時區(qū)和系統(tǒng)時間的多種實現(xiàn)方法

    Oracle設置時區(qū)和系統(tǒng)時間的多種實現(xiàn)方法

    在Oracle數(shù)據(jù)庫中,設置時區(qū)和系統(tǒng)時間可以通過多種方法實現(xiàn),本文通過代碼示例給大家介紹了Oracle設置時區(qū)和系統(tǒng)時間的多種實現(xiàn)方法,需要的朋友可以參考下
    2024-02-02
  • Oracle date如何比較大小分析

    Oracle date如何比較大小分析

    本文將詳細介紹Oracle date如何比較大小,需要了解更多的朋友可以參考下
    2012-11-11
  • Oracle遞歸樹形結(jié)構(gòu)查詢功能

    Oracle遞歸樹形結(jié)構(gòu)查詢功能

    oracle樹狀結(jié)構(gòu)查詢即層次遞歸查詢,是sql語句經(jīng)常用到的,在實際開發(fā)中組織結(jié)構(gòu)實現(xiàn)及其層次化實現(xiàn)功能也是經(jīng)常遇到的。這篇文章給大家介紹了Oracle遞歸樹形結(jié)構(gòu)查詢功能,需要的朋友參考下
    2019-09-09
  • oracle查詢不含括號及不含指定字符的方法

    oracle查詢不含括號及不含指定字符的方法

    這篇文章主要介紹了oracle查詢不含括號及不含指定字符的方法,需要的朋友可以參考下
    2014-07-07
  • Oracle去除重復數(shù)據(jù)

    Oracle去除重復數(shù)據(jù)

    這篇文章介紹了Oracle去除重復數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 深入oracle分區(qū)索引的詳解

    深入oracle分區(qū)索引的詳解

    本篇文章是對oracle分區(qū)索引進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • ORACLE查看當前賬號的相關(guān)信息

    ORACLE查看當前賬號的相關(guān)信息

    ORACLE 12C 后新增了一個功能,它會記錄用戶的最后一次登錄時間:SPARE6字段記錄用戶的最后一次登錄時間,本文給大家ORACLE如何查看當前賬號的相關(guān)信息,感興趣的朋友一起看看吧
    2021-06-06
  • oracle中日期與字符串的相互轉(zhuǎn)化的方法詳解

    oracle中日期與字符串的相互轉(zhuǎn)化的方法詳解

    Oracle數(shù)據(jù)庫系統(tǒng)是世界上最廣泛使用的數(shù)據(jù)庫管理系統(tǒng)之一,尤其在企業(yè)級應用中占據(jù)主導地位,其中,日期函數(shù)是Oracle SQL中非常重要的組成部分,它們用于處理和操作日期和時間數(shù)據(jù),本文將給大家介紹oracle中日期與字符串的相互轉(zhuǎn)化的方法,需要的朋友可以參考下
    2024-09-09
  • Oracle將字符編碼從GBK轉(zhuǎn)到UTF8,如何操作比較穩(wěn)妥?

    Oracle將字符編碼從GBK轉(zhuǎn)到UTF8,如何操作比較穩(wěn)妥?

    有個學校oracle數(shù)據(jù)庫的編碼是GBK,而且?guī)炖镞呉呀?jīng)有很多生產(chǎn)數(shù)據(jù)了,現(xiàn)在想改成UTF8的,如果執(zhí)行了這步操作,會出現(xiàn)哪些問題
    2014-02-02

最新評論

新建县| 宜兴市| 雅江县| 漳浦县| 合川市| 高台县| 孟村| 玉门市| 即墨市| 平顺县| 新疆| 东乌珠穆沁旗| 乌拉特前旗| 韶山市| 怀化市| 西城区| 石林| 抚顺市| 旌德县| 宜良县| 庆安县| 陇西县| 公安县| 平远县| 河曲县| 正定县| 简阳市| 隆昌县| 新河县| 邯郸市| 宜良县| 喀喇| 博野县| 徐水县| 莱西市| 封丘县| 耿马| 兴仁县| 保靖县| 塔河县| 泽普县|