1. 程式人生 > >查詢bad sql的方法

查詢bad sql的方法

查詢bad sql的方法:
select * from (select buffer_gets, sql_text
from v$sqlarea
where buffer_gets >500000
order by buffer_gets desc) where rownum<=30;
 
執行次數多的SQL
select sql_text,executions from
(select sql_text,executions from v$sqlarea order by executions desc)
where rownum<81;
 
讀硬碟多的SQL
select sql_text,disk_reads from

(select sql_text,disk_reads from v$sqlarea order by disk_reads desc)
where rownum<21;
 
排序多的SQL
select sql_text,sorts from
(select sql_text,sorts from v$sqlarea order by sorts desc)
where rownum<21;
 
分析的次數太多,執行的次數太少,要用綁變數的方法來寫sql
set pagesize 600;
set linesize 120;
select substr(sql_text,1,80) "sql",
count(*), sum(executions) "totexecs"
from v$sqlarea
where executions < 5
group by substr(sql_text,1,80)
having count(*) > 30

order by 2;