cursor_sharing : exact , force , similar
在Oracle 9i中,cursor_sharing引數有了第3個選項:similar。該引數指定Oracle在存在柱狀圖資訊時,對於不同的變數值,重新解析,從而可以利用柱狀圖更加精確地制定SQL執行計劃。也即當存在柱狀圖資訊時,similar的表現和exact相同;當柱狀圖資訊不存在時,similar的表現和force相同。
但是需要注意的是,在某些版本中(如:Oracle 9.2.0.5),設定cursor_sharing為similar可能導致SQL的version_count過高的Bug,該選項在不同版本中都可能存在問題,是需要斟酌使用的一個引數,設定該引數不過是一個臨時的解決辦法,根本的效能提升仍然需要透過最佳化SQL來解決。
除了Bug之外,在正常情況下,由於Similar的判斷機制,可能也會導致SQL無法共享。在收集了柱狀圖(Hisogram)資訊之後,如果SQL未使用繫結變數,當SQL使用具備柱狀圖資訊的Column時,資料庫會認為SQL傳遞過來的每個常量都是不可靠的,需要為每個SQL生成一個Cursor,這種情況被稱為UNSAFE BINDS。大量的version_count可能會導致資料庫產生大量的cursor:pin S wait on X等待。解決這類問題,可以設定cursor_sharing為FORCE或者刪除相應欄位上的柱狀圖資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-711571/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- cursor_sharing = similar , exact 區別MILA
- oracle實驗記錄 (cursor_sharing(1)exact&force)Oracle
- CURSOR_SHARING=SIMILARMILA
- 關於 cursor_sharing = similarMILA
- cursor_sharing=similar深度剖析MILA
- 關於cursor_sharing=similarMILA
- 關於cursor_sharing = similar(ZT)MILA
- ANNOUNCEMENT: Deprecating the cursor_sharing = ‘SIMILAR’MILA
- 關於cursor_sharing = similar (zt)MILA
- cursor_sharing=similar 與 直方圖MILA直方圖
- cursor_sharing設定為similar 的弊端MILA
- Cursor_sharing=SIMILAR取值與直方圖(上)MILA直方圖
- Cursor_sharing=SIMILAR取值與直方圖(下)MILA直方圖
- oracle實驗記錄 (cursor_sharing(2)SIMILAR)OracleMILA
- 有關引數cursor_sharing=similar的測試MILA
- 小心設定cursor_sharing=force引數
- [20140802]cursor_sharing=similar.txtMILA
- cursor_sharing=force導致sql profile部分hint失效SQL
- 補充:小心設定cursor_sharing=force引數
- [20150513]函式索引與CURSOR_SHARING=FORCE函式索引
- Oracle 11g 中 cursor_sharing 設定為SIMILAR 導致的問題OracleMILA
- [20241012]cursor_sharing=force與函式索引.txt函式索引
- cursor_sharing為force時帶來的一個執行計劃的假象
- 10203設定CURSOR_SHARING為SIMILAR導致物化檢視重新整理失敗MILA
- Exact Neighbours (Medium)
- 測試在cursor_sharing為force情況下執行計劃的共享情況
- [20120918]理解v$sql的exact_matching_signature與force_matching_signature.txtSQL
- House Of Force
- STARTUP FORCE 理解
- cursor_sharing=force強制繫結變數不會把變數值預設當成varchar2型別的理解變數型別
- oracle cursor_sharing [轉]Oracle
- How to get the exact duration of an audio file in js All In OneJS
- oracle引數-cursor_sharingOracle
- rman backup database force 功能Database
- 【Leetcode】800. Similar RGB ColorLeetCodeMILA
- AtCoder Beginner Contest 282 G - Similar PermutationMILA
- Oracle 的 cursor_sharing引數Oracle
- innodb_force_recovery設定