SQL多版本控制 - _CURSOR_OBSOLETE_THRESHOLD
在蓋老師的公開課中,提到了一個控制SQL多版本的引數,有很多朋友討論,這個引數是:_CURSOR_OBSOLETE_THRESHOLD 。
為什麼會有這個引數呢?請看下面這個示意圖,這是一個真實的生產環境,第一個SQL顯示,其Version Count已經達到了26萬個,這不僅僅佔用了記憶體,而且會使得SQL解析延遲:
對於版本過多的SQL,一次軟解析甚至不如重新執行一次硬解析來的高效,所以Oracle引入了一系列的控制手段來處理這些特殊的遊標。
在11.2.0.3之後,這些解決方案最終形成了一個隱含引數,也就是 _CURSOR_OBSOLETE_THRESHOLD,其作用是當SQL版本超過這個引數設定後,直接捨棄這個遊標,重新解析,重頭開始。在這一版本之前,透過補丁和引數("_cursor_features_enabled" 和 event 106001)可以達成類似的效果。
Oracle的很多細節控制都是體貼入微的,且用且珍惜吧。
關於SQL的多版本,MOS文章 296377.1 非常值得仔細看看。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12798004/viewspace-1718565/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- node 多版本控制
- pl/sql 版本控制工具SQL
- flutter中的多版本控制Flutter
- 多專案Node版本控制
- Flutter 多個版本切換控制Flutter
- InnoDB -MVCC多版本併發控制MVC
- MySQL MVCC(多版本併發控制)MySqlMVC
- oracle併發與多版本控制Oracle
- 實現PL/SQL的版本控制-SVNSQL
- MVCC多版本併發控制器MVC
- mysql的mvcc(多版本併發控制)MySqlMVC
- MySQL-16.MVCC(多版本併發控制)MySqlMVC
- PostgreSQL中多版本併發控制詳解SQL
- MySQL多版本併發控制——MVCC機制分析MySqlMVC
- 【Mysql】深入理解 MVCC 多版本併發控制MySqlMVC
- InnoDB學習(五)之MVCC多版本併發控制MVC
- 版本控制
- 資料庫事務和MVCC多版本併發控制資料庫MVC
- 值得收藏,揭秘 MySQL 多版本併發控制實現原理MySql
- 一文了解MySQL中的多版本併發控制MySql
- 版本控制工具
- net core webapi多版本控制與swagger(nswag)配置WebAPISwagger
- MySQL的多版本併發控制MVCC的實現惡琿MySqlMVC
- MySQL多版本併發控制機制(MVCC)-原始碼淺析MySqlMVC原始碼
- 初識多版本併發控制(MVCC)-每週學習分享MVC
- 多版本python控制以及python三方庫管理Python
- 版本控制常見問題列表——版本控制心得(三) (轉)
- WebApi Swagger 介面多版本控制 適用於APP介面管理WebAPISwaggerAPP
- Flutter版本控制fvmFlutter
- 關於版本控制
- Webstorm解除版本控制WebORM
- Git(1) —— 版本控制Git
- 版本控制工具(svn)
- apache版本資訊控制Apache
- 版本控制系統
- SQL SERVER 版本SQLServer
- InnoDB多版本
- 利用version_rpt3_24.sql指令碼來診斷sql遊標多版本SQL指令碼