亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

達(dá)夢(mèng)數(shù)據(jù)庫(kù)獲取SQL實(shí)際執(zhí)行計(jì)劃方法詳細(xì)介紹

 更新時(shí)間:2022年10月10日 14:45:35   作者:Jackin_Hu  
在達(dá)夢(mèng)數(shù)據(jù)庫(kù)中,使用EXPLAIN語(yǔ)句可以查看sql的執(zhí)行計(jì)劃,但EXPLAIN只生成執(zhí)行計(jì)劃,并不會(huì)真正執(zhí)行SQL語(yǔ)句,因此產(chǎn)生的執(zhí)行計(jì)劃有可能不準(zhǔn)。本章將帶領(lǐng)大家了解多種獲取SQL實(shí)際的執(zhí)行計(jì)劃的方法

環(huán)境說(shuō)明:

操作系統(tǒng):銀河麒麟V10

數(shù)據(jù)庫(kù):DM8

相關(guān)關(guān)鍵字:DM數(shù)據(jù)庫(kù)、SQL實(shí)際執(zhí)行計(jì)劃

一、set autotrace trace

disql下執(zhí)行set autotrace trace開(kāi)啟AUTOTRACE功能,執(zhí)行SQL語(yǔ)句,并打印實(shí)際的執(zhí)行計(jì)劃。

SQL> set autotrace trace
SQL> select a.employee_name, b.department_name from dmtest.t_emp a join dmtest.t_dept b on a.department_id = b.department_id and b.department_id=102;

二、v$cachepln中獲取執(zhí)行計(jì)劃

v$cachepln中保存了SQL緩沖區(qū)中的執(zhí)行計(jì)劃信息,在ini參數(shù)USE_PLN_POOL !=0時(shí)才統(tǒng)計(jì)。根據(jù)v$cachepln中的cache_item可以獲取實(shí)際執(zhí)行計(jì)劃信息:

SQL> select cache_item, sqlstr from v$cachepln where sqlstr like 'select a.employee_name, b.department_name from dmtest.t_emp a join dmtest.t_dept b on a.department_id = b.department_id and b.department_id=102%'; 
SQL> alter session set events 'immediate trace name plndump level 140244262459496, dump_file ''/opt/dm/sqlplntest.log''';

查看dump的執(zhí)行計(jì)劃信息:

三、ET系統(tǒng)函數(shù)

ET函數(shù)統(tǒng)計(jì)對(duì)應(yīng)執(zhí)行ID的所有操作符的執(zhí)行時(shí)間。使用ET函數(shù)需設(shè)置INI參數(shù)ENABLE_MONITOR=1、MONITOR_TIME=1和MONITOR_SQL_EXEC=1。

查看參數(shù)信息:

SQL>select name, type, value from v$parameter t where name in('ENABLE_MONITOR','MONITOR_SQL_EXEC','MONITOR_TIME');
行號(hào)  NAME             TYPE    VALUE
---- ------ ---------------- ------- -----
1 ENABLE_MONITOR   SYS     1
2 MONITOR_TIME     SYS     1
3 MONITOR_SQL_EXEC SESSION 0

設(shè)置當(dāng)前會(huì)話(huà)MONITOR_SQL_EXEC參數(shù)為1,并執(zhí)行sql語(yǔ)句:

SQL> alter session set 'MONITOR_SQL_EXEC'=1;

使用ET獲取上述執(zhí)行號(hào)為1124的SQL語(yǔ)句的執(zhí)行計(jì)劃和執(zhí)行時(shí)間:

四、dbms_sqltune系統(tǒng)包

DBMS_SQLTUNE系統(tǒng)包兼容Oracle的DBMS_SQLTUNE包的部分功能,提供一系列對(duì)實(shí)時(shí)SQL監(jiān)控的方法。

當(dāng)SQL監(jiān)控功能開(kāi)啟后,DBMS_SQLTUNE包可以實(shí)時(shí)監(jiān)控SQL執(zhí)行過(guò)程中的信息,包括:執(zhí)行時(shí)間、執(zhí)行代價(jià)、執(zhí)行用戶(hù)、統(tǒng)計(jì)信息等情況。使用DBMS_SQLTUNE也需要將DM.INI參數(shù)ENABLE_MONITOR、MONITOR_TIME、MONITOR_SQL_EXEC設(shè)置為1。

使用DBMS_SQLTUNE.REPORT_SQL_MONITOR方法可以查看上述執(zhí)行號(hào)為1124的執(zhí)行計(jì)劃信息。

SQL> set long 100000
SQL> SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR(SQL_EXEC_ID=>1124);

如下圖所示,可以看到此方法獲取的執(zhí)行計(jì)劃比ET函數(shù)更詳細(xì)。

五、說(shuō)明

1、set autotrace trace和v$cachepln不需要開(kāi)啟其他額外參數(shù),默認(rèn)就可以使用該方法獲取sql語(yǔ)句的執(zhí)行計(jì)劃,不同的是set autotrace trace需要等待SQL語(yǔ)句執(zhí)行完成才會(huì)打印執(zhí)行計(jì)劃;而通過(guò)v$cachepln在語(yǔ)句解析生成執(zhí)行計(jì)劃后就可以查詢(xún)?cè)揝QL的執(zhí)行計(jì)劃;

2、使用ET函數(shù)和dbms_sqltune系統(tǒng)包也需要SQL語(yǔ)句執(zhí)行完成,并且需要保證ENABLE_MONITOR、MONITOR_TIME、MONITOR_SQL_EXEC三個(gè)參數(shù)為開(kāi)啟狀態(tài)才能查看對(duì)應(yīng)SQL的實(shí)際執(zhí)行計(jì)劃信息,其中,dbms_sqltune執(zhí)行計(jì)劃更詳細(xì)。

到此這篇關(guān)于達(dá)夢(mèng)數(shù)據(jù)庫(kù)獲取SQL實(shí)際執(zhí)行計(jì)劃方法詳細(xì)介紹的文章就介紹到這了,更多相關(guān)獲取SQL實(shí)際執(zhí)行計(jì)劃內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql中的各種約束條件深入探討

    mysql中的各種約束條件深入探討

    在mysql中對(duì)編輯的數(shù)據(jù)進(jìn)行類(lèi)型的限制,不滿(mǎn)足約束條件的報(bào)錯(cuò),本文給大家分享mysql中的各種約束條件,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-05-05
  • MySQL?Workbench基本使用示例詳解

    MySQL?Workbench基本使用示例詳解

    MySQLWorkbench是一款由MySQL官方開(kāi)發(fā)的統(tǒng)一可視化工具,用于數(shù)據(jù)庫(kù)管理、數(shù)據(jù)建模和SQL開(kāi)發(fā),它支持Windows、Linux和macOS操作系統(tǒng),提供圖形界面簡(jiǎn)化復(fù)雜數(shù)據(jù)庫(kù)任務(wù),感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Windows系統(tǒng)下MySQL無(wú)法啟動(dòng)的萬(wàn)能解決方法

    Windows系統(tǒng)下MySQL無(wú)法啟動(dòng)的萬(wàn)能解決方法

    這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下MySQL無(wú)法啟動(dòng)的萬(wàn)能解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • MySQL存儲(chǔ)過(guò)程的傳參和流程控制示例講解

    MySQL存儲(chǔ)過(guò)程的傳參和流程控制示例講解

    這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程的傳參和流程控制示例講解,?repeat和Loop區(qū)別是repeat有自己退出循環(huán)的語(yǔ)句until,Loop使用的是if判斷語(yǔ)句,本文結(jié)合示例代碼詳細(xì)講解,需要的朋友可以參考下
    2023-02-02
  • MySQL8.0.18配置多主一從

    MySQL8.0.18配置多主一從

    主從復(fù)制是指數(shù)據(jù)可以從一個(gè)MySQL數(shù)據(jù)庫(kù)服務(wù)器主節(jié)點(diǎn)復(fù)制到一個(gè)或多個(gè)從節(jié)點(diǎn),本文詳細(xì)的介紹了MySQL8.0.18配置多主一從,感興趣的可以了解一下
    2021-06-06
  • MySQL存儲(chǔ)引擎中的MyISAM和InnoDB區(qū)別詳解

    MySQL存儲(chǔ)引擎中的MyISAM和InnoDB區(qū)別詳解

    這篇文章主要介紹了MySQL存儲(chǔ)引擎中的MyISAM和InnoDB區(qū)別詳解,本文總結(jié)了MyISAM與InnoDB的11點(diǎn)區(qū)別,需要的朋友可以參考下
    2015-03-03
  • mysql xtrabackup 備份恢復(fù)實(shí)現(xiàn)分享

    mysql xtrabackup 備份恢復(fù)實(shí)現(xiàn)分享

    Xtrabackup是由percona提供的mysql數(shù)據(jù)庫(kù)備份工具,據(jù)官方介紹,這也是世界上惟一一款開(kāi)源的能夠?qū)nnodb和xtradb數(shù)據(jù)庫(kù)進(jìn)行熱備的工具
    2012-11-11
  • 詳解mysql中explain的type

    詳解mysql中explain的type

    這篇文章主要介紹了mysql中explain的type的相關(guān)資料,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-11-11
  • Mysql數(shù)據(jù)庫(kù)自增id、uuid與雪花id詳解

    Mysql數(shù)據(jù)庫(kù)自增id、uuid與雪花id詳解

    在mysql中設(shè)計(jì)表的時(shí)候,mysql官方推薦不要使用uuid或者不連續(xù)不重復(fù)的雪花id(long形且唯一),而是推薦連續(xù)自增的主鍵id,這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫(kù)自增id、uuid與雪花id的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 優(yōu)化mysql的limit offset的例子

    優(yōu)化mysql的limit offset的例子

    在mysql中,通常使用limit做分頁(yè),而且經(jīng)常會(huì)跟order by 連用。在order by 上加索引有時(shí)候是很有幫助的,不然系統(tǒng)會(huì)做很多的filesort
    2013-02-02

最新評(píng)論