SQLの実行時間(v$sql.elapsed_time)って
のどちらかと思って調べてみた。
結論は、「1.SQL文の実行時間」だった。
検証結果
- SQL を実行する(commitしない)
insert into emp(id, name) values ('003', 'neo'); select * from emp;
- 実行時間を確認する
set pagesize 1000 set linesize 140 col hash_value for 9999999999 col address for a10 col sql for a50 col elapsed_time for 9999999999 col last_active for a20 select hash_value, address,substr(sql_text,1, 50) sql, elapsed_time, to_char(last_active_time, 'YYYY-MM-DD HH24:MI:SS') last_active from v$sql a left outer join v$session b on a.address = b.sql_address where sql_text like 'insert into emp%' or sql_text like 'select * from emp' order by last_active_time desc;
- 実行結果
HASH_VALUE ADDRESS SQL ELAPSED_TIME LAST_ACTIVE ----------- ---------- -------------------------------------------------- ------------ -------------------- 1078299227 60D0BD0C insert into emp(id, name) values ('003', 'neo') 1136 2009-05-14 02:27:46 1745700775 60C3B9E4 select * from emp 3697 2009-05-14 02:27:46 SQL> / HASH_VALUE ADDRESS SQL ELAPSED_TIME LAST_ACTIVE ----------- ---------- -------------------------------------------------- ------------ -------------------- 1078299227 60D0BD0C insert into emp(id, name) values ('003', 'neo') 1136 2009-05-14 02:27:46 1745700775 60C3B9E4 select * from emp 3697 2009-05-14 02:27:46 SQL> / HASH_VALUE ADDRESS SQL ELAPSED_TIME LAST_ACTIVE ----------- ---------- -------------------------------------------------- ------------ -------------------- 1078299227 60D0BD0C insert into emp(id, name) values ('003', 'neo') 1136 2009-05-14 02:27:46 1745700775 60C3B9E4 select * from emp 3697 2009-05-14 02:27:46
ELAPSED_TIME の単位はマイクロ秒。1136 なら 0.001136 秒。