找出執行最慢的sql
--根據平均耗時大小排序
select a.sql_text,
a.sql_id,
a.executions "總執行次數"
, nvl(a.elapsed_time,0)
/1000
/1000
"總耗時(秒)"
,(nvl(a.elapsed_time,0)
/ nvl(decode(a.executions,0,
1, a.executions),1
))/1000
/1000
"平均耗時(秒)"
, a.parse_calls "硬解析次數"
, a.disk_reads "物理讀次數"
, a.buffer_gets "讀快取區次數"
, a.first_load_time "sql開始執行時間"
from v$sql a
where a.first_load_time like
'2020-09-24%'
order
by(nvl(a.elapsed_time,0)
/ nvl(decode(a.executions,0,
1, a.executions),1
))/1000
/1000
desc
;
根據sql開始執行時間排序
--根據執行時間排序
select a.sql_text,
a.sql_id,
a.executions "總執行次數"
, nvl(a.elapsed_time,0)
/1000
/1000
"總耗時(秒)"
,(nvl(a.elapsed_time,0)
/ nvl(decode(a.executions,0,
1, a.executions),1
))/1000
/1000
"平均耗時(秒)"
, a.parse_calls "硬解析次數"
, a.disk_reads "物理讀次數"
, a.buffer_gets "讀快取區次數"
, a.first_load_time "sql開始執行時間"
from v$sql a
where a.first_load_time like
'2020-09-24%'
order
by first_load_time desc
;
了解系統效能、分析系統原因最常用的檢視/表
select
*from v$session t;
select
*from v$process t;
select
*from user_objects order
by last_ddl_time desc
;select t.sql_text, t.first_load_time, t.sql_id
from v$sqlarea t
where t.first_load_time like
'2020-09-24%'
order
by t.first_load_time desc
;
JVM 效能排查 檢視哪個物件占用記憶體大
參考 1 在ie位址列中輸入 http localhost test init1.jsp,執行一次,我們可以在記憶體檢視中看到cn.test.testbean物件被建立了10000次 2.標記現在的狀態,然後再執行init1.jsp和,init2.jsp可以讓我們找到哪些類在呼叫後沒有被釋放 很重要...
ORACLE SQL效能優化(二)
4.選擇最有效率的表名順序 只在基於規則的優化器中有效 oracle的解析器按照從右到左的順序處理from子句中的表名,因此 from子句中寫在最後的表 基礎表 driving table 將被最先處理.在from子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎表.當oracle處理多個...
ORACLE SQL效能優化(三)
8.使用decode函式來減少處理時間 使用decode函式可以避免重複掃瞄相同記錄或重複連線相同的表.例如 select count sum sal from emp where dept no 0020 and ename like smith select count sum sal from...