oracle sql效能排查 查詢sql執行時間

2021-10-10 02:32:04 字數 1779 閱讀 1185

找出執行最慢的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...