會話級指定和提示級指定OPTIMIZER_FEATURES_ENABLE結果不同
幫客戶最佳化時發現,同樣是OPTIMIZER_FEATURES_ENABLE引數,在會話級設定和在HINT中指定的效果不同。
客戶的資料庫從11.1.0.6升級到最新的11.2.0.2之後,一些原本執行正常的SQL,查詢效能變得比較差,嘗試利用OPTIMIZER_FEATURES_ENABLE方式來恢復原始的執行計劃,但是發現有時在會話級設定OPTIMIZER_FEATURES_ENABLE引數執行計劃並沒有改變,而如果直接在SQL中設定OPTIMIZER_FEATURES_ENABLE提示,則可以使得SQL的執行計劃恢復到升級之前。
由於SQL 本身比較複雜,而且事實上和當前這個主題的關係不大,這裡就不列出來了。一共針對6個效能變差的SQL進行調整,發現如果使用ALTER SESSION SET OPTIMIZER_FEATURES_ENABLE = ’11.1.0.6’的方式,則有3個語句恢復11.1.0.6中的執行計劃,而對於另外3個執行計劃並沒有改變。
而如果嘗試在SQL中直接嵌入提示/*+ OPTIMIZER_FEATURES_ENABLE(’11.1.0.6’) */結果發現其中5個SQL恢復了11.1.0.6的執行計劃,而只有1個SQL執行計劃沒有改變。
雖然一直都清楚,使用OPTIMIZER_FEATURES_ENABLE並不能100%保證SQL的執行計劃恢復到指定版本,但是確實沒有想到,OPTIMIZER_FEATURES_ENABLE在提示中指定和在會話級設定還會有所區別。如果說HINT的優先順序更高會覆蓋會話級設定,這可以理解,但是二者效果有所區別,就說不過去了。除非是OPTIMIZER_FEATURES_ENABLE在會話級的設定不足以覆蓋某些其他的會話級引數設定,從而導致這個現象的產生。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-708422/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Cocospod 升級到指定版本
- MySQL 按指定 ID 順序返回結果MySql
- Mysql按指定 ID 順序返回結果MySql
- 2.6.9 指定資料庫相容級別資料庫
- openGauss-指定節點升級
- 為不同專案指定不同的 PHP 版本PHP
- JavaScript 獲取指定標籤一級子元素JavaScript
- nginx二級目錄代理minio指定桶Nginx
- 會話級SQL跟蹤會話SQL
- 會話級臨時表會話
- (轉) oracle 臨時表(事務級、會話級)Oracle會話
- 利用sql_trace跟蹤一個指定會話的操作SQL會話
- 複製指定源位置的多級資料夾下所有檔案到指定目標位置
- 【SQL】獲取指定範圍內結果集的實現方法SQL
- 會話與事務級臨時表和dual表會話
- 利用 LLMNR 名稱解析缺陷劫持內網指定主機會話內網會話
- JavaScript 指定字串結尾JavaScript字串
- JavaScript獲取元素下指定型別的一級子元素JavaScript型別
- jquery獲取指定節點的第一級文字節點jQuery
- 顯示指定欄目的名稱和連結
- linux下指定不同使用者登入不同目錄Linux
- 獲取第一級指定型別子元素程式碼例項型別
- jQuery查詢指定型別的父級元素程式碼例項jQuery型別
- 不同等級容災實現不同安全級別
- Metasploit Shell升級Meterpreter會話技巧會話
- 【原】為DevExpress的ChartControl新增Y軸控制 和 GridControl中指定列新增超級連結devExpress
- 系統啟動時提示找不到指定模組
- 構造無限級樹並深度遍歷查詢指定節點
- 微博-指定話題當日資料爬取
- Spring Series---Springboot指定不同的啟動環境方法總結Spring Boot
- 獲得同級iframe頁面的指定ID元素的幾種實現方法
- JavaScript 擷取指定指定區間字串JavaScript字串
- C#中模運算子(%)在不同的.NET版本為什麼會有不同結果?C#
- ABAP Webdynpro和WebClient UI不同的會話管理機制WebclientUI會話
- 獲取指定日期是當年第幾周,指定日期所在周的開始和結束日期
- golang通過反射使用json字串呼叫struct的指定方法及返回json結果Golang反射JSON字串Struct
- javascript擷取指定指定區間的字串JavaScript字串
- jquery獲取低程式碼平臺iframe巢狀的父級元素指定元素jQuery巢狀