免费看欧美黑人毛片-免费看毛片网站-免费看毛片的网站-免费看久久-中文字幕日韩欧美-中文字幕日韩精品一区

您現在的位置:首頁 > IT認證 > oracle認證 >

Oracle開發技術:[Oracle]變量綁定


Oracle開發技術:[Oracle]變量綁定

[Oracle]變量綁定

  Parent-Child cursor (父子游標)

  父游標:只要SQL語句文本相同,它們就對應同一個parent cursor。

  子游標:在某些情況下,雖然SQL語句的文本相同,但是因為其它因素不同(這些因素可以在視圖V$SQL_SHARED_CURSOR中查看),導致產生不同的child cursor。(重新生成child cursor,也就意味著一次硬解析)

  cursor_sharing

  對于是否使用綁定變量這個問題,最好是交給應用程序決定,在數據庫層面是很難正確判斷。(這也是為什么cursor_sharing參數默認值為exact)

  但是,有些時候,由于應用程序沒有正確使用綁定變量,導致數據庫性能問題,又因為此時系統已上線,要改應用代碼有很多的阻力(大多都是人為的因素)。為此,Oracle提供了應急(事后補救)方案,可以在數據庫級別強制使用綁定變量。

  當cursor_sharing=force時,對于只有謂詞條件不一樣的SQL語句,Oracle統統都認為是一樣的。但是這樣會有一個問題,就是可能后續的執行計劃不是最優。為了解決這個問題,可以設置cursor_sharing=similar,這樣如果謂詞條件的變化可能生成不同的執行計劃,Oracle都會進行硬解析(生成child cursor)。

  但是,設置cursor_sharing=similar要非常小心,因為有很多bug,需要經過充分的測試才能在生產庫上修改。

  Bind Peeking (變量窺視)

  從Oracle9i開始,Oracle在第一次解析SQL(hard parse)時,如果SQL上有變量綁定,會查看這個變量的值,以便于更準確的指定執行計劃;但在后續的分析中(soft parse),將不會理會這個變量的值。

  適用場景

  執行計劃幾乎不改變(oltp)

  大量的并發

  大量的除謂詞外幾乎相同的SQL。

  不適用場景

  執行計劃會隨變量值的變化而改變。

  少量的SQL(OLAP).

  ACS (Adaptive Cursor Sharing)

  Oracle11g用于解決變量綁定帶來的負面影響,通過不斷觀察bind的值,來決定新的SQL是否重用之前的執行計劃,解決綁定變量導致后續執行計劃不變的問題。

  缺點

  更多的硬分析

  產生更多的子游標,需要更多的內存。

  消耗更多的CPU

  綁定變量的適用場景

  適用于OLTP

  用戶并發很高

  表中有主鍵

  操作的數據少

  執行計劃穩定

  SQL的重復率高

  不適用于OLAP

  執行計劃多變

  并發用戶少

  SQL解析對系統性能影響小

相關文章

無相關信息
更新時間2022-03-13 11:18:58【至頂部↑】
聯系我們 | 郵件: | 客服熱線電話:4008816886(QQ同號) | 

付款方式留言簿投訴中心網站糾錯二維碼手機版

客服電話:




主站蜘蛛池模板: 美丽的坏女人中文字幕| 地理填充图册| 女女调教| 孙启皓| 人世间演员表| 中国黄色片子| 邪教档案| 日本无遮挡吸乳免费视频| 六一儿童节小品剧本| 神探狄仁杰1电视剧| 王者荣耀电视剧| 美妙天堂第三季| 王思聪是谁| 黄子华个人资料简介| 列维| 秀人网门户网免费| 白世莉电影| 皇家趣学院第一季免费观看 | 龙八夷| 宇宙战队| 电影《追求》| 卢昱晓主演的电视剧| 田园个人简历| 梁祝《引子》简谱| 挠中国美女丝袜脚心| 花有重开日电影| 别董大古诗一首| 寡妇一级毛片视频| 媚狐传| 本能 电影| 小绿人| 张鸿昌| 崔在焕| 马玉琴20岁照片| 但愿人长久| 漂亮主妇| 挤黑头挤痘痘视频最猛| 女同恋性吃奶舌吻完整版| 黄河颂思维导图| 丽芙·泰勒| 误杀2演员|