日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle sql execute elapsed time,sql duration 和 elapsed_time 的区别

發布時間:2024/1/1 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle sql execute elapsed time,sql duration 和 elapsed_time 的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天在處理一個long run sql的時候發現了這個問題,sql duration和elapsed_time的區別貌似有時候非常大.

oracle doc上關于 elaspsed_time :

ELAPSED_TIME NUMBER Elapsed time (in microseconds) used by this cursor for parsing, executing, and fetching

而sql_exec_start :

SQL_EXEC_START DATE Time when the execution started

按我的理解sql duration(當前時間或者sql執行結束時間 - sql_exec_start) 應該會和elapsed_time大體上一致。但是在做了一個查詢之后發現兩者區別有時候很大,請問一條sql語句中間執行會暫停下來嗎(當然不是指cpu wait, I/O wait之類已經包含在elapsed_time內的那種等待)?如果有可能那么可能是什么原因呢,或者該如何解釋duration遠大于elapsed_time?謝謝大家!

環境是dataware house 11.2.0.3.0 非RAC, table是一個比較大的fact table。

(這下面的查詢雖然我用的是sysdate-sql_exec_start,不過這條查詢是剛剛結束的,OEM的sql monitor顯示的duration是2:38:08,請無須深究這一點)

SQL> select sql_id,ELAPSED_TIME/1000000/3600 elapsed,(sysdate-sql_exec_start)*24 duration,status from v$sql_monitor where sql_id='18jj1716x09u4';

SQL_ID? ?? ?? ???ELAPSED? ?DURATION STATUS

------------- ---------- ---------- -------------------

18jj1716x09u4 .079098069 2.42805556 DONE (ALL ROWS)

SELECT??A.DOCUMENT_NO? ?? ???,

A.LINE_NO? ?? ?? ?? ?,

A.ORDER_TYPE_SRCCD? ?,

A.ORDER_COMPANY_SRCCD,

A.CUSTOMER_SHIPPED_ID

FROM? ? FACT_SALES_LINE A

WHERE? ?NOT EXISTS

(

SELECT 'X'

FROM? ? FACT_SALES_LINE_JDE_KEYS B

WHERE? ?A.DOCUMENT_NO? ?? ?? ?? ?? ?? ?? ?? ?? ?= B.DOCUMENT_NO

AND A.LINE_NO? ?? ?? ?? ?? ?? ?? ?? ?? ?= B.LINE_NO

AND ltrim(rtrim(A.ORDER_TYPE_SRCCD))? ? = Ltrim(rtrim(B.ORDER_TYPE_SRCCD))

AND ltrim(rtrim(A.ORDER_COMPANY_SRCCD)) = ltrim(rtrim(B.ORDER_COMPANY_SRCCD))

)

總結

以上是生活随笔為你收集整理的oracle sql execute elapsed time,sql duration 和 elapsed_time 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。