2

実行時:

select user_io_wait_time, cpu_time, elapsed_time, user_io_wait_time + cpu_time
from v$sqlarea where /* filter */

以下のような出力が得られます。cpu_time と user_io_wait_time の合計が経過時間よりも大きい理由を説明していただけますか? lapse_timeは、user_io、cpu、system io、同時実行性などを含むクエリに費やされた合計時間になると思いました.返されたすべての行は、実行時間の長い更新ステートメントを表しています。オラクル10g. ありがとう、トーマス。

USER_IO_WAIT    CPU_TIME    ELAPSED_TIME    USER_IO_WAIT+CPU_TIME
721189651        32450000      742860743    753639651
719109237        32540000      740826171    751649237
720330754        32540000      741987150    752870754
725473348        32670000      747215507    758143348
720799316        32540000      742501530    753339316
725361991        33000000      747416902    758361991
725387023        32830000      747236752    758217023
720383321        32210000      741849457    752593321
4

1 に答える 1

2

ELAPSED_TIMEはちょうどelapsed time used by the cursor for parsing, executing, and fetchingです。

CPU_TIMEそれはCPU time (in microseconds) used by this cursor for parsing, executing, and fetching

明らかCPU_TIMEに、ユーザー io 時間、同時実行時間、アプリケーション待機時間などは同じように構成されておらず、USER_IO時間は CPU 時間、同時実行時間、アプリケーション待機時間などを考慮していません。のコンポーネントELAPSED_TIME

これにより、 の公正なアイデアが得られるはずですv$sqlarea

于 2012-09-05T00:49:36.337 に答える