欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

oracle執(zhí)行計(jì)劃怎么看,oracle的執(zhí)行計(jì)劃怎么看

Oracle如何查看SQL實(shí)際執(zhí)行計(jì)劃

1、 查看最近執(zhí)行的SQL語句

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)常寧免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

select?/*recentsql*/s.SQL_ID,s.CHILD_NUMBER,s.HASH_VALUE,s.ADDRESS,s.EXECUTIONS,s.SQL_TEXT

from?v$sql?s

where?s.PARSING_USER_ID?=?(

select?u.user_id?from?all_users?u

where?u.username?=?'YH_TEST'

)?and?s.COMMAND_TYPE?in?(2?,3,?6,7?,189)

and?upper(s.SQL_TEXT)?not?like?upper(?'%recentsql%')

2、使用dbms_xplan.display_cursor查看執(zhí)行計(jì)劃,它的用法見筆記 《dbms_xplan.display_cursor的用法》,

注意了:若dbms_xplan.display_cursor要以ALLSTATS LAST格式輸出的話,/*+gather_plan_statistics*/這個(gè)提示信息放到查詢語句中是必須的。

select?/*+gather_plan_statistics*/?/*plan_statistics1*/?name?,salary?from?test?where?name?=?'t1'?;

select?s.SQL_ID,s.CHILD_NUMBER,s.HASH_VALUE,s.ADDRESS,s.EXECUTIONS,s.SQL_TEXT

from?v$sql?s

where?upper(s.SQL_TEXT)?like?upper('%plan_statistics1%'?)

and?upper(s.SQL_TEXT)?not?like?upper(?'%v$sql%');

select?*?from?table?(dbms_xplan.display_cursor('4wktu80k1xy5k'?,?0,?'ALLSTATS?LAST?cost'?));

oracle pl/sql 執(zhí)行計(jì)劃怎么看

打開PL/SQL Developer軟件,請(qǐng)確保plsql能夠成功連接到一個(gè)oracle數(shù)據(jù)庫。

在PL/SQL Developer中寫好一段SQL代碼,按F5,或者點(diǎn)擊“執(zhí)行執(zhí)行計(jì)劃”圖標(biāo),PL/SQL Developer會(huì)自動(dòng)打開執(zhí)行計(jì)劃窗口,顯示該SQL的執(zhí)行計(jì)劃。

可以看到窗口上方是sql語句,下方顯示執(zhí)行計(jì)劃表格。表格的列主要包含描述、用戶、對(duì)象、成本花費(fèi)、IO開銷等,表格,當(dāng)然表格列還可以自定義。表格的行包含了查詢邏輯的執(zhí)行順序和各個(gè)步驟信息。

執(zhí)行計(jì)劃表格內(nèi)容的執(zhí)行順序是:按照從左至右,從上至下的步驟執(zhí)行,具體是指執(zhí)行計(jì)劃按照層次逐步縮進(jìn),從左至右看,縮進(jìn)最多的那一步最先執(zhí)行,如果縮進(jìn)量相同,則按照從上而下的方法判斷執(zhí)行順序。

通過查看執(zhí)行計(jì)劃表格的cost列,即成本花費(fèi)能夠知道哪個(gè)步驟花費(fèi)的成本高,通過查看執(zhí)行計(jì)劃表格的行中的objectname列,能夠知道是否使用到表中的索引。

oracle怎么查看sql執(zhí)行計(jì)劃

一般需要借助第三方工具來查看執(zhí)行計(jì)劃。

工具:PL/SQL

步驟:

1、打開第三方工具PL/SQL,并登錄到指定數(shù)據(jù)庫。

2、新建一個(gè)查詢,編寫SQL語句。

3、此時(shí)不要執(zhí)行該語句,而是按電腦上的F5鍵,部分筆記本鍵盤需要同時(shí)按FN和F5鍵。

4、然后就能看到執(zhí)行計(jì)劃了。

如何看懂ORACLE執(zhí)行計(jì)劃

打開Oracle Database軟件后進(jìn)入軟件數(shù)據(jù)庫主界面,在PL/SQL下按F5查看執(zhí)行計(jì)劃,在這里面可以看到基數(shù)、優(yōu)化器、耗費(fèi)等基本信息 如圖

2

在SQL*PLUS,PL/SQL的命令窗口下執(zhí)行下面步驟 :

SQLEXPLAIN PLAN FOR

SELECT * FROM SCOTT.EMP; --要解析的SQL腳本

SQLSELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

如圖

完成以上步驟后還需要在SQL*PLUS下輸入代碼執(zhí)行命令:

SQLSET TIMING ON --控制顯示執(zhí)行時(shí)間統(tǒng)計(jì)數(shù)據(jù) SQLSET AUTOTRACE ON EXPLAIN   --這樣設(shè)置包含執(zhí)行計(jì)劃、腳本數(shù)據(jù)輸出,沒有統(tǒng)計(jì)信息

如圖

接著我們輸入第二段代碼:

SQL執(zhí)行需要查看執(zhí)行計(jì)劃的SQL語句 SQLSET AUTOTRACE OFF   --不生成AUTOTRACE報(bào)告,這是缺省模式

然后是第三段

SQL SET AUTOTRACE ON   --這樣設(shè)置包含執(zhí)行計(jì)劃、統(tǒng)計(jì)信息、以及腳本數(shù)據(jù)輸出 SQL執(zhí)行需要查看執(zhí)行計(jì)劃的SQL語句 SQLSET AUTOTRACE OFF

第四段代碼:

SQL SET AUTOTRACE TRACEONLY  --這樣設(shè)置會(huì)有執(zhí)行計(jì)劃、統(tǒng)計(jì)信息,不會(huì)有腳本數(shù)據(jù)輸出

最后輸入第5段代碼:

SQL執(zhí)行需要查看執(zhí)行計(jì)劃的SQL語句 SQLSET AUTOTRACE TRACEONLY STAT --這樣設(shè)置只包含有統(tǒng)計(jì)信息 SQL執(zhí)行需要查看執(zhí)行計(jì)劃的SQL語句

需要注意的是:在Oracle Database中,PL/SQL Developer 工具并不完全支持所有的SQL*Plus命令,如果執(zhí)行“SET AUTOTRACE ON”命令就會(huì)報(bào)錯(cuò),出現(xiàn)接下來的情況:

SQL SET AUTOTRACE ON;

Cannot SET AUTOTRAC

PL/SQL DEVELOPER工具里面執(zhí)行上面腳本過后,我們是看不到相關(guān)信息的,這時(shí)我們可以通過輸入腳本代碼查詢執(zhí)行過的信息,代碼如下:

SELECT T.VALUE || '/' || LOWER(RTRIM(I.INSTANCE, CHR(0))) || '_ora_' || P.SPID || '.trc' TRACE_FILE_NAME FROM ( SELECT P.SPID FROM V$MYSTAT M, V$SESSION S, V$PROCESS P WHERE M.STATISTIC# =1 AND S.SID = M.SID AND P.ADDR = S.PADDR ) P, ( SELECT T.INSTANCE FROM V$THREAD T, V$PARAMETER V WHERE V.NAME ='thread' AND (V.VALUE = 0 OR T.THREAD# = TO_NUMBER(V.VALUE)) ) I, (SELECT VALUE FROM V$PARAMETER WHERE NAME='user_dump_dest') T

如圖所示:

我們通過Oracle Database,查看執(zhí)行計(jì)劃后,通常要以文本的形式保存下來,可以輸入命令:tkprof D:\ORACLE\PRODUCT\10.2.0\DB_1\RDBMS\TRACE/wgods_ora_3940.trc h:\out.txtoutputfile explain=etl/etl 執(zhí)行 如圖

執(zhí)行上面命令后,就可以查看生成的文本文件了如圖

以上就是如何用Oracle Database,查看執(zhí)行計(jì)劃的步驟,需要注意的是PL/SQL Developer 工具并不完全支持所有的SQL*Plus命令,執(zhí)行SET AUTOTRACE ON 就如此,在PL/SQL Developer工具下執(zhí)行此命令會(huì)報(bào)錯(cuò)。

本文標(biāo)題:oracle執(zhí)行計(jì)劃怎么看,oracle的執(zhí)行計(jì)劃怎么看
標(biāo)題URL:http://chinadenli.net/article34/heohse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣用戶體驗(yàn)定制網(wǎng)站微信公眾號(hào)靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)