日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

15 sql base line 工作机制

發(fā)布時(shí)間:2025/4/5 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 15 sql base line 工作机制 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
<個(gè)人Configuration>正常配置一下, 就OK了, 不用理了, oracle 11g 默認(rèn)啟動(dòng) 發(fā)展:1、從Oracle的發(fā)展角度來(lái)看,估計(jì)這種方法是Oracle發(fā)展和改進(jìn)的方向,如今outline已經(jīng)被廢棄,sql profile估計(jì)在后續(xù)的發(fā)行版本中也難有改進(jìn),因此,對(duì)于從11g開始接觸Oracle的朋友來(lái)說(shuō),一定要對(duì)sql計(jì)劃基線有所了解,因?yàn)檫@是以后的主流!2、SQL執(zhí)行計(jì)劃基線保存在數(shù)據(jù)字典中,查詢優(yōu)化器會(huì)自動(dòng)判斷使用他們。工作機(jī)制從Oracle 11g開始,由于基線的存在,一條語(yǔ)句的解析過(guò)程大概如下:1.SQL語(yǔ)句被硬解析后,CBO(優(yōu)化器)會(huì)產(chǎn)生很多個(gè)的執(zhí)行計(jì)劃,CBO從中選擇一個(gè)成本最低執(zhí)行計(jì)劃。2.基于SQL語(yǔ)句的文本形成一個(gè)哈希值(signature),通過(guò)這個(gè)哈希值來(lái)檢查數(shù)據(jù)字典中是否存在同樣的基線。3.如果基線存在,優(yōu)化器會(huì)對(duì)剛剛產(chǎn)生的執(zhí)行計(jì)劃和保存在SQL plan baseline中的執(zhí)行計(jì)劃進(jìn)行比較。4.如果基線中有與CBO剛產(chǎn)生的執(zhí)行計(jì)劃的匹配的SQL執(zhí)行計(jì)劃存在,并且被標(biāo)記為可接受(‘a(chǎn)ccepted’),則這個(gè)CBO生成的執(zhí)行計(jì)劃被啟用。5.如果基線中沒有匹配的SQ執(zhí)行計(jì)劃存在,CBO評(píng)估基線中被標(biāo)記為‘a(chǎn)ccepted’的的多個(gè)執(zhí)行計(jì)劃,并選擇其中cost最低的執(zhí)行計(jì)劃。(注意,一個(gè)語(yǔ)句的基線可以有多個(gè)執(zhí)行計(jì)劃被保存,這是與其他Outline和SQL profiel都不同的地方)6.如果剛剛硬解析過(guò)程中CBO選擇的執(zhí)行計(jì)劃比保存在基線中的執(zhí)行計(jì)劃COST都低,這個(gè)新生成的執(zhí)行計(jì)劃被標(biāo)記為‘not-accepted’并保存在基線中。直到這個(gè)執(zhí)行計(jì)劃被演化且驗(yàn)證后才會(huì)被考慮使用,即標(biāo)記為accepted(演化和驗(yàn)證,可以簡(jiǎn)單理解為Oracle確認(rèn)這個(gè)執(zhí)行計(jì)劃可以帶來(lái)更好的性能)。Oracle 就是通過(guò)上面這種方式來(lái)確保SQL語(yǔ)句的性能不會(huì)退化(即第一部分中我歸納的第二個(gè)主要作用),稱為“執(zhí)行計(jì)劃保守選擇策略”基線的一些特點(diǎn)1.通過(guò)OPTIMIZER_USE_SQL_PLAN_BASELINE來(lái)控制Oracle是否使用基線,默認(rèn)值為TRUE,即會(huì)自動(dòng)使用基線。2.11g中默認(rèn)是不會(huì)自動(dòng)創(chuàng)建基線3.與OUTLINE和SQL Profile不同,基線中不存在分類的概念4.與OUTLINE和SQL Profile不同,每個(gè)SQL語(yǔ)句可以有多個(gè)基線。Oracle根據(jù)制定的規(guī)則來(lái)判斷具體是否哪個(gè)基線5.基線針對(duì)RAC中所有的實(shí)例都生效6.基線有兩個(gè)表示,一個(gè)為sql_handle,可以理解為表示語(yǔ)句文本的唯一標(biāo)識(shí),一個(gè)為sql_plan_name可以理解為執(zhí)行計(jì)劃的唯一標(biāo)識(shí)7.不能像sql profile一樣通過(guò)force_matching屬性將字面值不一樣的SQL語(yǔ)句使用一個(gè)基線應(yīng)用多個(gè)語(yǔ)句。創(chuàng)建基線的幾種方式1、自動(dòng)捕獲基線,通過(guò)將optimizer_cature_sql_plan_baselines設(shè)置為true,優(yōu)化器為重復(fù)執(zhí)行兩次以上的SQL語(yǔ)句生成并保存基線(可以系統(tǒng)級(jí)或會(huì)話級(jí)修改)2、從SQL調(diào)優(yōu)集合中加載,通過(guò)使用包dbms_spm.load_plans_from_sqlset來(lái)從SQL調(diào)優(yōu)集合中加載基線DECLAREl_plans_loaded PLS_INTEGER; BEGINl_plans_loaded := DBMS_SPM.load_plans_from_sqlset(sqlset_name => 'my_sqlset');END;/3、從庫(kù)緩存中加載,通過(guò)包dbms_spm.load_plans_from_cursor_cache函數(shù)為一條已經(jīng)在游標(biāo)緩存中的語(yǔ)句創(chuàng)建基線DECLAREl_plans_loaded PLS_INTEGER;BEGINl_plans_loaded := DBMS_SPM.load_plans_from_cursor_cache(sql_id => '1fkh93md0802n',plan_hash_value=>null);END;/備注:可以有多種方式加載,例如可以根據(jù)sql文本進(jìn)行模糊匹配、SQL語(yǔ)句解析的用戶名等等方式,具體見文檔基線的幾種狀態(tài)一個(gè)SQL語(yǔ)句對(duì)應(yīng)的基線,我將它們歸納為三種狀態(tài)1.accepted(可接受),只有這種狀態(tài)的基線,優(yōu)化器才會(huì)考慮此基線中的執(zhí)行計(jì)劃2.no-accepted(不可接受),這種狀態(tài)的基線,優(yōu)化器在SQL語(yǔ)句解析期間不會(huì)考慮。這種狀態(tài)的基線必須通過(guò)演化和驗(yàn)證通過(guò)后,轉(zhuǎn)變?yōu)閍ccepted狀態(tài)后,才會(huì)被優(yōu)化器考慮使用3.fixed為yes(固定),這種狀態(tài)的基線固有最高優(yōu)先級(jí)!比其他兩類基線都要優(yōu)先考慮查看基線1、基本視圖:dba_sql_plan_baselines、dba_sql_management_config2、底層視圖:sqlobj$data 、 sqlobj$ (保存具體的hint),如下查看基線中保存的執(zhí)行計(jì)劃語(yǔ)句:selectextractvalue(value(d), '/hint') as outline_hintsfromxmltable('/outline_data/hint'passing (selectxmltype(comp_data) as xmlvalfromsqlobj$data sod, sqlobj$ sowhere so.signature = sod.signatureand so.plan_id = sod.plan_idand comp_data is not nulland name like '&baseline_plan_name')) d;3、通過(guò)函數(shù)來(lái)查看基線的詳細(xì)信息:select * from table(dbms_xplan.display_sql_plan_baseline(sql_handle=>'SYS_SQL_11bcd50cd51504e9',plan_name=>'SQL_PLAN_13g6p1maja1790cce5f0e'));演化基線 為了驗(yàn)證基線中一個(gè)處于不可接受狀態(tài)的執(zhí)行計(jì)劃是否比一個(gè)處于可接受狀態(tài)的執(zhí)行計(jì)劃具有更高的效率,必須通過(guò)演化來(lái)驗(yàn)證,需要讓優(yōu)化器以不同的執(zhí)行計(jì)劃來(lái)執(zhí)行這條SQL語(yǔ)句,觀察不可接受狀態(tài)的執(zhí)行計(jì)劃基線是否會(huì)帶來(lái)更好的性能,如果性能確實(shí)更高,這個(gè)不可接受狀態(tài)的基線將會(huì)轉(zhuǎn)換為可接受狀態(tài)。演化的方式有兩種:1、手工執(zhí)行運(yùn)行SELECT DBMS_SPM.evolve_sql_plan_baseline(sql_handle => 'SYS_SQL_xxxxxxxxxxxxx') From dual;還有time_limit/verify/commit幾個(gè)參數(shù),可以參考文檔2、調(diào)優(yōu)包實(shí)現(xiàn)基線的自動(dòng)演化,可以理解為,啟動(dòng)一個(gè)調(diào)度任務(wù),周期性的檢查是否有不可接受狀態(tài)的基線可以被演化 修改基線可以通過(guò)dbms_spm.alter_sql_plan_baseline包來(lái)修改基線的一些屬性,主要有如下幾個(gè)屬性1.ENABLED :設(shè)置該屬性的值為NO告訴Oracle 11g臨時(shí)禁用某個(gè)計(jì)劃,一個(gè)SQL計(jì)劃必須同時(shí)標(biāo)記為ENABLED和ACCEPTED,否則CBO將忽略它2.FIXED:設(shè)置為YES,那個(gè)計(jì)劃將是優(yōu)化器唯一的選擇[最高優(yōu)先級(jí)],即使如果某個(gè)計(jì)劃可能擁有更低的成本。這讓DBA可以撤銷SMB的默認(rèn)行為,對(duì)于轉(zhuǎn)換一個(gè)存儲(chǔ)概要進(jìn)入一穩(wěn)定的SQL計(jì)劃基線特別有用,注意當(dāng)一個(gè)新計(jì)劃被添加到被標(biāo)記為FIXED的SQL計(jì)劃基線,該新計(jì)劃不能被利用除非它申明為FIXED狀態(tài)3.AUTOPURG:設(shè)置這個(gè)屬性的值為NO告訴Oracle 11g無(wú)限期保留它,從而不用擔(dān)心SMB的自動(dòng)清除機(jī)制4.plan_name : 改變SQL plan 名字5.description : 改變SQL plan描述語(yǔ)法:SET SERVEROUTPUT ONDECLAREv_text PLS_INTEGER;BEGINv_text := DBMS_SPM.alter_sql_plan_baseline(sql_handle => 'SYS_SQL_xxxxxx',plan_name => 'SYS_SQL_PLAN_xxxxxxxxx',attribute_name => 'fixed',attribute_value => 'YES');DBMS_OUTPUT.put_line('Plans Altered: ' || v_text );END;/

?

轉(zhuǎn)載于:https://www.cnblogs.com/moveofgod/p/4660523.html

總結(jié)

以上是生活随笔為你收集整理的15 sql base line 工作机制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费国产黄色片 | 国产成人精品一区二区三区无码熬 | 欧洲美女与动交zozzo | 中文字幕一区二区三区av | 日本男人天堂网 | 毛片123 | 丰满岳妇伦在线播放 | 香蕉视频国产 | 中国久久久久 | 九色九一 | 国产精品成久久久久三级 | 日本加勒比中文字幕 | 成人免费福利 | 69sex久久精品国产麻豆 | 国产大片在线观看 | 天海翼一区| 日韩无码专区 | 精品久久久久久久无码 | 美国一级黄色大片 | 精品女同一区二区 | 天堂国产一区二区三区 | av一区二区三区 | 国产麻豆网 | 美女毛毛片 | 日韩毛片免费看 | 老司机午夜福利视频 | 高清不卡一区二区三区 | 欧美一区二区三区系列电影 | 久久免费看少妇高潮 | 精品国产aⅴ麻豆 | 国产大片中文字幕 | 91免费高清 | 免费av电影网站 | 99av视频| 三级网站 | 欧美成人乱码一二三四区免费 | av尤物| 他揉捏她两乳不停呻吟动态图 | 九九九视频在线观看 | xvideos永久免费入口 | 国产在线精品视频 | 国语对白做受xxxxx在线中国 | 一级大片免费观看 | 国产在线观看xxx | 另类一区二区三区 | 在线免费观看一区二区 | 欧美视频在线观看一区二区三区 | 999这里有精品 | 中文字幕视频观看 | 亚洲欧美久久久 | 十八禁视频网站在线观看 | 国产微拍精品一区 | 91刺激| 99国产精品国产精品九九 | av片网站 | 黑人极品videos精品欧美裸 | 在线看黄的网站 | 男女羞羞动态图 | 亚洲av最新在线网址 | 91视频精品 | 日本道在线观看 | 精品一区二区日韩 | 欧美极品少妇无套实战 | 国产91在线视频 | 人妻与黑人一区二区三区 | 在线不卡av | 6996电视影片免费看 | 91免费网站入口 | 网爆门在线 | 日韩专区一区 | 久国久产久精永久网页 | 日韩免费观看av | 国产日韩在线视频 | 国产一区二区三区免费看 | 天天插天天爱 | 国产精品黄| 欧美性爱精品在线 | 亚洲天堂无吗 | 你懂的在线观看网址 | 精品无码久久久久久久久果冻 | 一区二区三区不卡视频在线观看 | 九九九亚洲 | 中文成人无字幕乱码精品区 | 精品成人一区二区三区久久精品 | 天天宗合网 | 91蜜桃婷婷狠狠久久综合9色 | 中国国产毛片 | 成人乱码一区二区三区 | 免费大片黄在线观看 | 啪啪五月天| 天天精品 | www.日韩欧美| a级免费毛片 | 最近中文字幕免费mv视频7 | 黄色污在线观看 | 国产群p视频 | 欧美入口| 夜夜操女人| 亚洲大尺度在线观看 |