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

Oracle查詢執(zhí)行計(jì)劃

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

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

● 訪問表的方式。數(shù)據(jù)庫通過索引或全表掃描等方式訪問表中的數(shù)據(jù)。
● 多表連接的方式。數(shù)據(jù)庫使用什么連接算法實(shí)現(xiàn)表的連接,包括多個(gè)表的先后訪問順序。
● 分組聚合以及排序等操作的實(shí)現(xiàn)方式。

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

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

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

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

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

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

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

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

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

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

方法一:語句查看

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

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

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

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

方法二:利用工具查看

在常用的Oracle數(shù)據(jù)庫開發(fā)工具PL/SQL中,選擇一段SQL腳本,按F5鍵,即可自動(dòng)顯示該腳本的執(zhí)行計(jì)劃信息,跟方法一查詢出的結(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í)行計(jì)劃的文章就介紹到這了,更多相關(guān)Oracle查詢執(zhí)行計(jì)劃內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

    Oracle date如何比較大小分析

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

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

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

    oracle查詢不含括號(hào)及不含指定字符的方法

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

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

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

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

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

    ORACLE查看當(dāng)前賬號(hào)的相關(guān)信息

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

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

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

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

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

最新評(píng)論

图木舒克市| 江油市| 阜新市| 广东省| 古交市| 平山县| 达拉特旗| 长海县| 闸北区| 通河县| 兴化市| 北票市| 安多县| 兴海县| 九寨沟县| 灌阳县| 南郑县| 衡南县| 望江县| 河西区| 文山县| 寿光市| 巴彦淖尔市| 蛟河市| 吴川市| 拜城县| 平舆县| 永年县| 东明县| 探索| 上犹县| 高密市| 郓城县| 娄底市| 乐至县| 吴旗县| 博野县| 满城县| 南投县| 隆尧县| 泽州县|