select*fromv$v" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Oracle自適應共享游標

系統(tǒng) 2836 0
? ??? 自適應游標共享Adaptive Cursor Sharing或擴展的游標共享(Extended Cursor Sharing)是Oracle 11g的新特性之一,主要用于解決以前版
本中由于綁定變量窺探導致SQL語句無法獲得最佳執(zhí)行計劃的缺陷,即能夠?qū)π实拖碌挠螛?子游標)進行自動識別而選擇最佳的執(zhí)行計劃。本
文詳細描述了自適應游標共享并給出示例。
??? 有關綁定變量窺探請參考: Oracle 綁定變量窺探

一、示例自適應游標共享
??? 1、創(chuàng)建演示環(huán)境???????

??? 2、使用綁定變量執(zhí)行SQL語句并獲得首次執(zhí)行情況????????

??? 3、自適應游標共享的外在體現(xiàn)
??????? 自適應游標共享主要通過三個字段來得以體現(xiàn),即is_bind_sensitive,is_bind_aware,is_shareable。(注:此三個字段僅在Oracle 11g
??????? 中存在)。通過上面從v$sql(v$sqlarea中不存在is_shareable)的查詢可知,三個字段分別被賦予了不同的值,代表了不同的含義。
?????
????? is_bind_sensitive(綁定是否敏感)
????????? 表示該子游標中是否使用了綁定變量要素,且采用bind peeking方法進行執(zhí)行計劃生成。如果執(zhí)行計劃依賴于窺探到的值,此處為Y,
????????? 否則為N。
?????
????? is_bind_aware(綁定是否可知)
????????? 表示該子游標是否使用了extended cursor sharing技術(shù),是則為Y,否則為N,如為N,則該游標將廢棄,不再可用。
?????
????? is_shareable(是否可共享)
????????? 表示該子游標可否被下次軟解析是否可共享使用。可共享則為Y,否則為N,表示該子游標失去了共享價值,按LRU算法淘汰。
?
????? 由于該SQL語句為首次執(zhí)行,因此從v$sql查詢的結(jié)果中得知
????????? is_bind_sensitive 為Y值(首次運行,執(zhí)行了bind peeking)
????????? is_bind_aware???? 為N值(首次運行,不被extended cursor sharing支持)
????????? is_shareable????? 為Y值(執(zhí)行計劃可共享)

??? 4、重新賦值后觀察游標共享情況???????

二、自適應游標共享的幾個相關視圖

?1、v$sql_cs_statistics
??????? 用于監(jiān)控自適應游標共享的相關統(tǒng)計信息.下面的查詢中列出了每個子游標的peeking情況,以及執(zhí)行次數(shù),預處理行數(shù),BUFFER_GETS等???????

??? 2、v$sql_cs_selectivity
??????? 顯示每個子游標的游標的選擇性范圍。下面的查詢中列出了謂詞,選擇性范圍,列上的選擇性的值???????

??? 3、v$sql_cs_histogram
??????? 用于決定一個查詢是否允許自適應游標共享,以直方圖形式存儲???????

三、總結(jié)
??? 1、自適應游標共享在SQL語句首次執(zhí)行時(使用綁定變量),進行窺探,并記錄窺探結(jié)果,如果后續(xù)有相同的的SQL語句執(zhí)行,則對窺探結(jié)果
?????? 進行比較以判斷是否需要生成新的執(zhí)行計劃。此即為綁定變量是否敏感。
??? 2、綁定變量的可知性用于判斷當前的游標是否為可擴展性游標共享,當不可知時,則游標被廢棄。
??? 3、自適應游標共享的實質(zhì)是在Oracle 10g以前的基礎上實現(xiàn)了多次綁定變量窺探,增加了獲取最佳執(zhí)行計劃選擇的機率。
??? 4、盡管使用自適應游標共享特性,但并不能保證每次執(zhí)行SQL語句一定按最佳計劃執(zhí)行,本次演示中SQL語句的第二次執(zhí)行并非最佳執(zhí)行計劃。
??? 5、自適應游標共享也不能保證兩次執(zhí)行相同SQL語句一定按相同的執(zhí)行計劃執(zhí)行,因為自適應游標共享會不斷嘗試peeking。
??????????????
四、延伸參考
??? Oracle 綁定變量窺探
??? Oracle自適應共享游標
??? 綁定變量及其優(yōu)缺點 ?

??? 父游標、子游標及共享游標 ?
??? dbms_xplan之display_cursor函數(shù)的使用 ?
??? dbms_xplan之display函數(shù)的使用 ?
??? 執(zhí)行計劃中各字段各模塊描述


???

Oracle自適應共享游標


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 怀集县| 农安县| 额敏县| 汉中市| 沅江市| 略阳县| 张家界市| 临邑县| 慈溪市| 汉中市| 宝山区| 壶关县| 瓮安县| 邳州市| 衡阳县| 邯郸县| 本溪市| 盖州市| 柳州市| 裕民县| 张家川| 焉耆| 武宁县| 互助| 奎屯市| 都昌县| 亳州市| 宣恩县| 郸城县| 苍溪县| 临沭县| 濮阳县| 应城市| 徐水县| 鄯善县| 吉首市| 兰西县| 呼图壁县| 子洲县| 盐山县| 炉霍县|