oracle優化--shared_pool (2)
如果兩個SQL語句只有常量有差別的話 他們是不能共享的:
select * from emp where empno='01';
select * from emp where empno='02';
oracle 就會認為他倆不一樣,就會進行硬解析
oracle 提供了一個初始變數:cursor_sharing 它有三個值
exact 精確的
similar 類似的
force 強制的
系統預設是精確的,即必須完全一樣,當我們設定成similar的時候,像以上的一種情況,oracle就會走軟解析,因為差不多,
FORCE的程度就更深了,但我們輕易不會修改這個引數,因為他也是有代價的。
那麼,如何檢視系統中進行硬解析的次數呢?我們檢視一個動態效能檢視v$sysstat;
SQL>select * from v$sysstat; 其中有一行如下
233 parse count(hard) 一個值M 一個值N
當我們執行一個從前沒有執行過的SQL語句時,再次檢視就會發現N就會增大。N就是執行硬解析的次數
還有一個效能檢視V$sgastat,通過這個檢視我們可以檢視SGA各個元件的尺寸,最重要的就是shared_pool的剩餘空間,這也很重要。如果記憶體不夠,就會報ORA-04031這個錯誤,解決的方法就是擴記憶體或者減少記憶體的使用。
我們通過show parameter share可以檢視到shared_Pool_size
接著上面的說一說,如果兩個語句想要解析,必須要引用相同的物件,而且必須要在同一個schema(模式)裡,每一個使用者都有一個schema,他和使用者重名,是當前使用者下所有物件的集合,使用者和模式是有差別的,許可權,密碼,約束都不是模式。使用兩個使用者都執行:
SQL>select * from emp;在他們各自的schema裡都有EMP這個表,表面上是一樣的,但是這是兩張截然不同的表,還是要進行硬解析。
當我們進行兩個差不多的SQL語句時,比如只有WHERE條件的常量不同,在不改變cursor_sharing的情況下,如何使語句共享,產生軟解析呢?答案就是繫結變數,當where一個條件的時候,把內容寫成變數,但注意,繫結變數必須相同才能共享。儘可能的使用繫結變數,已經成為優化的一個重要部分。
--TO BE CONTINUED
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25116248/viewspace-1058065/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle優化--shared_pool (3)Oracle優化
- oracle優化--shared_pool (1)Oracle優化
- oracle statpack優化學習(2)Oracle優化
- 效能優化 - Oracle Tuning 總結 2-2優化Oracle
- oracle 學習筆記---效能優化(2)Oracle筆記優化
- oracle優化Oracle優化
- oracle優化技巧Oracle優化
- oracle EM 優化Oracle優化
- oracle 效能優化Oracle優化
- oracle sql優化OracleSQL優化
- Oracle優化方法Oracle優化
- oracle優化(收藏)Oracle優化
- oracle sql 優化OracleSQL優化
- oracle latch優化Oracle優化
- Oracle效能優化Oracle優化
- Oracle效能優化-SQL優化(案例一)Oracle優化SQL
- Oracle效能優化-SQL優化(案例二)Oracle優化SQL
- Oracle效能優化-SQL優化(案例三)Oracle優化SQL
- Oracle效能優化-SQL優化(案例四)Oracle優化SQL
- Oracle11gr2的PLSQL優化NULL語句OracleSQL優化Null
- oracle 10gR2 rman備份優化加強Oracle 10g優化
- 效能優化 - Oracle Tuning 總結 2-1 Statspack優化Oracle
- ORACLE優化SQL語句,提高效率(2)Oracle優化SQL
- 效能優化部分——高階SQL優化2優化SQL
- oracle優化一例之sql優化Oracle優化SQL
- SHARED_POOL解析
- Oracle in 查詢優化Oracle優化
- Oracle優化的方法Oracle優化
- ORACLE profile 優化配置Oracle優化
- Oracle 索引的優化Oracle索引優化
- oracle 的優化器Oracle優化
- Oracle SQL效能優化OracleSQL優化
- 【摘】 oracle優化器Oracle優化
- oracle 效能優化(一)Oracle優化
- oracle weblogic 優化OracleWeb優化
- 如何優化oracle pga優化Oracle
- Oracle的優化器Oracle優化
- Oracle 優化經典Oracle優化