檢視Oracle最耗時的SQL

2021-08-23 12:14:39 字數 1526 閱讀 5785

1.檢視總消耗時間最多的前100條sql語句

select *

from (select v.sql_id,

v.child_number,

v.sql_text,

last_load_time,

v.parsing_user_id,

round(v.elapsed_time / 1000000 / (case

when (executions = 0 or nvl(executions, 1 ) = 1) then

1else

executions

end),

2) "執行時間's'",

v.sql_fulltext,

v.cpu_time,

v.disk_reads,

rank() over(order by v.elapsed_time desc) elapsed_rank

from v$sql v  ) a

where elapsed_rank <= 100  and   last_load_time > to_char(sysdate - 1/24, 'yyyy-mm-dd/hh:mi:ss')    order by "執行時間's'" desc

查詢最近一小時內最慢的sql:

select executions, cpu_time/1e6 as cpu_sec, elapsed_time/1e6 as elapsed_sec, round(elapsed_time/sqrt(executions)) as important, v.* 

from v$sql v 

where executions > 10 and last_load_time > to_char(sysdate - 1/24, 'yyyy-mm-dd/hh:mi:ss')  

order by important desc

2.檢視cpu消耗時間最多的前10條sql語句

select *

from (select v.sql_id,

v.child_number,

v.sql_text,

v.elapsed_time,

v.cpu_time,

v.disk_reads,

rank() over(order by v.cpu_time desc) elapsed_rank

from v$sql v) a

where elapsed_rank <= 10;

3.檢視消耗磁碟讀取最多的前10條sql語句

select *

from (select v.sql_id,

v.child_number,

v.sql_text,

v.elapsed_time,

v.cpu_time,

v.disk_reads,

rank() over(order by v.disk_reads desc) elapsed_rank

from v$sql v) a

where elapsed_rank <= 10;

檢視Oracle最耗時的SQL

有很多種方法可以用來找出哪些sql語句需要優化,但是很久以來,最簡單的方法都是分析儲存在v sql檢視中的快取的sql資訊。通過v sql檢視,可以確定具有高消耗時間 cup和io讀取的sql語句。1.檢視總消耗時間最多的前10條sql語句 select from select v.sql id,v...

檢視Oracle最耗時的SQL

有很多種方法可以用來找出哪些sql語句需要優化,但是很久以來,最簡單的方法都是分析儲存在v sql檢視中的快取的sql資訊。通過v sql檢視,可以確定具有高消耗時間 cup和io讀取的sql語句。1.檢視總消耗時間最多的前10條sql語句 select from select v.sql id,v...

Oracle 查詢耗時 SQL

start 當你的系統變慢時,如何查詢系統中最耗時的 sql 呢?試一試下面的 sql 吧。select from select from v sqlstats 最耗時的 sql elapsed time 指的是總耗時 毫秒 平均耗時 elapsed time executions order by...