Awr和statspack中的execute to parse和session_cached_cursors
Awr和statspack中的execute to parse
自己對於awr和statspack並不是很瞭解,在pub中看到一個網友的awr資訊,檢視發現其中有execute to parse這個統計資訊
Buffer Nowait %: | 100.00 | Redo NoWait %: | 100.00 |
Buffer Hit %: | 99.54 | In-memory Sort %: | 100.00 |
Library Hit %: | 83.33 | Soft Parse %: | 70.75 |
Execute to Parse %: | 25.10 | Latch Hit %: | 99.37 |
Parse CPU to Parse Elapsd %: | 98.63 | % Non-Parse CPU: |
Execute to parse%應該是如下的執行與解析的方面
Execute to Parse = round(100*(1-rse/:exe),2)
prse = select value from v$sysstat where name = 'parse count (total)';
exe = select value from v$sysstat where name = 'execute count';
也就是sql語句的解析佔執行的百分比,公式裡計算的是總解析次數parse count(total) ,看來與繫結變數關係不大,這裡涉及到一個引數session_cached_cursors也就是pga中共享的遊標的記憶體區域,其實也就是所謂的fast soft,通常在記憶體足夠情況下可以調整session_cached_cursors引數用於增加pga的共享遊標的記憶體區域,從而實現類似的評論/sql程式塊中的迴圈插入刪除等來提高執行效率。也就是把所謂的soft轉化為fast soft來減少解析,讓其存在與session_cached_cursors的遊標區域內sql(session執行三次及其以上sql語句)讓其不解析直接執行,提高效能。
下面分別在預設的session_cached_cursors 20和sessin級別重置session_cached_cursors為0的sql語句執行時間。
SQL> create table test001(id number);
Table created
SQL> set timing on
SQL> show parameter session_cached_cursors;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
session_cached_cursors integer 20
SQL> declare
2 begin
3 for i in 1..100000 loop
4 insert into test001 values(i);
5 end loop;
6 end;
7 /
PL/SQL procedure successfully completed
Executed in 3.245 seconds
SQL> rollback;
Rollback complete
Executed in 1.31 seconds
SQL> alter session set session_cached_cursors=0;
Session altered
Executed in 0.094 seconds
SQL> declare
2 begin
3 for i in 1..100000 loop
4 insert into test001 values(i);
5 end loop;
6 end;
7 /
PL/SQL procedure successfully completed
Executed in 7.316 seconds
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1057412/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- AWR Execute to Parse引數解析
- Execute to Parse% 及open_cursors,session_cached_cursorsSession
- Execute to Parse 指標指標
- 理解EXECUTE_TO_PARSE(二)
- 理解EXECUTE_TO_PARSE(一)
- 關於Execute to Parse %:比例太低的優化思路優化
- statspack、awr、addm,ash影片分享
- STATSPACK與AWR的相同點與區別
- 關於Execute to Parse %:比例太低的最佳化思路
- 學用ORACLE AWR和ASH特性(1)-ASH和AWR的故事Oracle
- statspack、awr、addm,ash視訊分享
- 10g awr與statspack區別
- AWR 及STATSPACK的snapshot不能自動生成排查
- statspack report分析(AWR也可參考)
- v$sqlarea_parse_calls與executions與session_cached_cursors關係SQLSession
- JSON的parse()和stringfy()方法JSON
- Java執行緒池中的execute和submitJava執行緒MIT
- PHP函式之parse_str()和parse_url()函式PHP函式
- 學用ORACLE AWR和ASH特性(7)-AWR的幾個幫Oracle
- 修改open_cursors和session_cached_cursors的引數值Session
- statspack安裝使用和report分析
- statspack安裝使用 和 report 分析
- 基於AWR實現STATSPACK報告(4-等待事件)事件
- 基於AWR實現STATSPACK報告(5-TOPSQL)SQL
- 基於AWR實現STATSPACK報告(7-TOPSEGMENT)
- 關於open_cursors和session_cached_cursors的引數值Session
- 小心 Enum Parse 中的坑
- statspack 裡sprepsql.sql 的用法和作用SQL
- 匯入和匯出AWR的資料
- 基於AWR實現STATSPACK報告(2-系統效率)
- 基於AWR實現STATSPACK報告(3-RAC統計)
- 基於AWR實現STATSPACK報告(6-例項元件)元件
- 快捷生出awr和awrsql報告SQL
- statspack中報告中的等待事件事件
- JavaScript 中 structuredClone 和 JSON.parse(JSON.stringify()) 克隆物件的區別JavaScriptStructJSON物件
- fast parse,soft parse,hard parse的區別!AST
- JSON.parse()和JSON.stringify()JSON
- 基於AWR實現STATSPACK報告(1-系統負載)負載