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

達夢數(shù)據(jù)庫獲取SQL實際執(zhí)行計劃方法詳細介紹

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

環(huán)境說明:

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

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

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

一、set autotrace trace

disql下執(zhí)行set autotrace trace開啟AUTOTRACE功能,執(zhí)行SQL語句,并打印實際的執(zhí)行計劃。

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í)行計劃

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

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í)行計劃信息:

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

ET函數(shù)統(tǒng)計對應(yīng)執(zhí)行ID的所有操作符的執(zhí)行時間。使用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');
行號  NAME             TYPE    VALUE
---- ------ ---------------- ------- -----
1 ENABLE_MONITOR   SYS     1
2 MONITOR_TIME     SYS     1
3 MONITOR_SQL_EXEC SESSION 0

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

SQL> alter session set 'MONITOR_SQL_EXEC'=1;

使用ET獲取上述執(zhí)行號為1124的SQL語句的執(zhí)行計劃和執(zhí)行時間:

四、dbms_sqltune系統(tǒng)包

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

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

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

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

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

五、說明

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

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

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

相關(guān)文章

  • Ubuntu15下mysql5.6.25不支持中文的解決辦法

    Ubuntu15下mysql5.6.25不支持中文的解決辦法

    Ubuntu15下mysql5.6.25出現(xiàn)亂碼,不支持中文,該問題如何解決呢?下面看看小編是怎么解決此問題的,需要的朋友可以參考下
    2015-09-09
  • mysql5.7安裝及配置教程

    mysql5.7安裝及配置教程

    這篇文章主要為大家詳細介紹了mysql5.7安裝及配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • SQL行列轉(zhuǎn)置以及非常規(guī)的行列轉(zhuǎn)置示例代碼

    SQL行列轉(zhuǎn)置以及非常規(guī)的行列轉(zhuǎn)置示例代碼

    轉(zhuǎn)置即旋轉(zhuǎn)數(shù)據(jù)表的橫縱方向,常用來改變數(shù)據(jù)布局,以便用新的角度觀察,下面這篇文章主要給大家介紹了關(guān)于SQL行列轉(zhuǎn)置以及非常規(guī)行列轉(zhuǎn)置的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • MySQL查詢倒數(shù)第二條記錄實現(xiàn)方法

    MySQL查詢倒數(shù)第二條記錄實現(xiàn)方法

    這篇文章主要介紹了MySQL查詢倒數(shù)第二條記錄實現(xiàn)方法,本文直接給出代碼實例,重要部分已經(jīng)加紅提示,需要的朋友可以參考下
    2015-05-05
  • mysql全量備份、增量備份實現(xiàn)方法

    mysql全量備份、增量備份實現(xiàn)方法

    這篇文章主要介紹了mysql全量備份、增量備份實現(xiàn)方法,需要的朋友可以參考下
    2016-12-12
  • mysql 全文檢索中文解決方法及實例代碼

    mysql 全文檢索中文解決方法及實例代碼

    這篇文章主要介紹了mysql 全文檢索中文解決方法及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • MySql存儲引擎的作用

    MySql存儲引擎的作用

    mysql面試中最常問的問題之一:小伙子,你說一下你們公司用的存儲引擎,以及你知道有哪些存儲引擎和他們之間的區(qū)別? 所以下面這篇文章主要給大家介紹了關(guān)于Mysql存儲引擎的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • mysql授予用戶遠程訪問權(quán)限的實現(xiàn)

    mysql授予用戶遠程訪問權(quán)限的實現(xiàn)

    在默認(rèn)情況下,MySQL 數(shù)據(jù)庫僅允許在本地主機上進行訪問,如果您需要遠程連接到 MySQL 數(shù)據(jù)庫,您需要授予用戶遠程訪問權(quán)限,本文就來
    2023-11-11
  • MySQL學(xué)習(xí)第三天 Windows 64位操作系統(tǒng)下驗證MySQL

    MySQL學(xué)習(xí)第三天 Windows 64位操作系統(tǒng)下驗證MySQL

    MySQL學(xué)習(xí)第三天教大家如何在Windows 64位操作系統(tǒng)下驗證MySQL,感興趣的小伙伴們可以參考一下
    2016-05-05
  • 一文教會你在MySQL中使用DateTime

    一文教會你在MySQL中使用DateTime

    mysql數(shù)據(jù)庫在我們的工作中經(jīng)常需要使用,經(jīng)常在表中需要使用時間,下面這篇文章主要給大家介紹了關(guān)于在MySQL中使用DateTime的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09

最新評論

佛坪县| 泸水县| 莆田市| 河北区| 松阳县| 遂川县| 明溪县| 石城县| 托里县| 金塔县| 河西区| 历史| 温宿县| 沧源| 石家庄市| 杨浦区| 克山县| 兴海县| 凤庆县| 正阳县| 铜山县| 革吉县| 隆安县| 孙吴县| 永德县| 安达市| 潼南县| 友谊县| 新闻| 柳江县| 房山区| 九寨沟县| 万年县| 礼泉县| 明溪县| 东乌| 浦北县| 石景山区| 竹山县| 綦江县| 娱乐|