<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ORACLE數據分析和動態采樣

        來源:懂視網 責編:小采 時間:2020-11-09 10:15:29
        文檔

        ORACLE數據分析和動態采樣

        ORACLE數據分析和動態采樣:《ORACLE數據分析和動態采樣》引言:oracle數據庫性能調優最需要重視的也最常遇到的就是SQL執行效率,而反映SQL效率最直觀的工具就是CBO生成的執行計劃,那么如 《ORACLE 數據分析和動態采樣》 引言:oracle 數據庫性能調優最需要重視的也最常遇到的就是SQ
        推薦度:
        導讀ORACLE數據分析和動態采樣:《ORACLE數據分析和動態采樣》引言:oracle數據庫性能調優最需要重視的也最常遇到的就是SQL執行效率,而反映SQL效率最直觀的工具就是CBO生成的執行計劃,那么如 《ORACLE 數據分析和動態采樣》 引言:oracle 數據庫性能調優最需要重視的也最常遇到的就是SQ

        《ORACLE數據分析和動態采樣》引言:oracle數據庫性能調優最需要重視的也最常遇到的就是SQL執行效率,而反映SQL效率最直觀的工具就是CBO生成的執行計劃,那么如

        《ORACLE 數據分析和動態采樣》

        引言:oracle 數據庫性能調優最需要重視的也最常遇到的就是SQL執行效率,而反映SQL效率最直觀的工具就是CBO生成的執行計劃,那么如何讓CBO生成最精準的效率最高的執行計劃成為我們當前需要研究的課題。同一條語句,好的執行計劃能帶來飛一樣的速度,壞的執行計劃讓我們痛苦不堪,下面我們從原理到實踐來把如何產生高效計劃的方法教給大家。


        一 CBO介紹

        CBO全稱叫Cost Based optimization基于代價優化器,它是一個數學模型,同一個SQL語句在不同的oracle版本中計算出來的代價結果也是不一樣的,因為每個版本CBO優化器的設計結構有很大不同,現在還不是很完善很智能很通人性,因此我們不能完全依賴它,只能輔助我們。

        如何生成精確的執行計劃:公式數據+CBO=執行計劃,傳入CBO的數據越精確得到結果越精確,我們能做的保證輸入數據更準確,通過精確數據計算出精確執行計劃


        二演示一個表分析后執行計劃比動態采樣更準確的例子

        動態采樣:顧名思義就是oracle自動為你進行的初步數據分析,由于是隨機在表上取一些數據,因此并不能保證得出的執行計劃很準確,只能作為一種輔助分析手段,在不得已的情況下來分析數據,有一定的局限性。

        場景:當表沒有分析信息時,香港服務器,oracle會使用動態采樣技術,而且動態采樣是在SQL硬解析的時候發生的,傳入->CBO參數->生成執行計劃。

        級別:oracle 10g oracle 11g 默認動態采樣級別是2,它有level1-10,設置的級別越高采集的數據塊越多,結果越精確,運行時間越長,level10對所有數據進行采樣分析。

        實驗

        LEO1@LEO1> drop table leo1 purge;清理環境

        Table dropped.

        LEO1@LEO1> drop table leo2 purge;

        Table dropped.

        LEO1@LEO1> create table leo1 as select * from dba_objects;創建leo1表

        Table created.

        LEO1@LEO1> create table leo2 as select * from leo1;創建leo2表,采用leo1一樣數據和結構

        Table created.

        LEO1@LEO1> col segment_name for a10

        LEO1@LEO1> select segment_name,extents,blocks from dba_segments where segment_name in ('LEO1','LEO2');

        SEGMENT_NA EXTENTS BLOCKS

        ---------- ---------- -------------- -------------- ----

        LEO1 24 1152

        LEO2 24 1152

        查詢leo1和leo2表這兩個段對象存儲參數,都是占用24個區,1152個塊,2個表一模一樣嘛

        LEO1@LEO1> col table_name for a10

        LEO1@LEO1> select table_name,num_rows,blocks,status from dba_tables wheretable_name in ('LEO1','LEO2');

        TABLE_NAME NUM_ROWS BLOCKS STATUS

        ---------- ---------- ---------- ------------ ---------- ------------

        LEO1 VALID

        LEO2 VALID

        在這個數據字典里只顯示表名和當前狀態(有效),沒有行信息和塊信息,這是為神馬呢,嗯從上面的操作可以看出,我們只是建立了表,但沒有分析表統計信息,現在我們分析一下后看看效果

        LEO1@LEO1> execute dbms_stats.gather_table_stats('LEO1','LEO1');對LEO1表進行統計分析

        PL/SQL procedure successfully completed.

        LEO1@LEO1> select table_name,num_rows,blocks,status from dba_tables wheretable_name in ('LEO1','LEO2');

        TABLE_NAME NUM_ROWS BLOCKS STATUS

        ---------- ---------- ---------- ------------ ---------- ------------

        LEO1 71968 1051 VALID

        LEO2 VALID

        現在leo1表已經有行信息和塊信息了,leo2由于沒有進行表分析現在還什么都沒有

        LEO1@LEO1> set autotrace trace exp

        LEO1@LEO1> select * from leo1 where object_id=10000;

        Execution Plan

        ----------------------------------------------------------

        Plan hash value: 2716644435

        --------------------------------------------------------------------------

        | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

        --------------------------------------------------------------------------

        | 0 | SELECT STATEMENT | | 1 | 97 | 287 (1)| 00:00:04 |

        |* 1 | TABLE ACCESS FULL| LEO1 | 1 | 97 | 287 (1)| 00:00:04 |

        --------------------------------------------------------------------------

        Predicate Information (identified by operation id):

        ---------------------------------------------------

        1 - filter("OBJECT_ID"=10000)

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ORACLE數據分析和動態采樣

        ORACLE數據分析和動態采樣:《ORACLE數據分析和動態采樣》引言:oracle數據庫性能調優最需要重視的也最常遇到的就是SQL執行效率,而反映SQL效率最直觀的工具就是CBO生成的執行計劃,那么如 《ORACLE 數據分析和動態采樣》 引言:oracle 數據庫性能調優最需要重視的也最常遇到的就是SQ
        推薦度:
        標簽: 數據 直方圖 oracle
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 美女黄网站人色视频免费| 亚洲一区二区三区免费在线观看| 亚洲第一se情网站| 午夜男人一级毛片免费| 亚洲熟妇AV一区二区三区宅男| 青青草免费在线视频| 亚洲欧洲无卡二区视頻| 国产大片91精品免费看3| 免费无毒a网站在线观看| 久久久久亚洲精品中文字幕| a国产成人免费视频| 亚洲成a人片在线观看无码| 香港a毛片免费观看 | 国产精品免费一区二区三区| 亚洲熟伦熟女新五十路熟妇| 99久久免费国产精品热| 久久亚洲精品人成综合网| 免费黄色福利视频| 亚洲日产乱码一二三区别| 亚洲成?Ⅴ人在线观看无码| 好湿好大好紧好爽免费视频| 亚洲av激情无码专区在线播放| 59pao成国产成视频永久免费 | 亚洲乱妇熟女爽到高潮的片| vvvv99日韩精品亚洲| 成人影片一区免费观看| 亚洲国产美女精品久久久久| 免费看a级黄色片| 国产激情久久久久影院老熟女免费| 亚洲国产精品特色大片观看完整版| 日本h在线精品免费观看| 久久亚洲欧美国产精品| 亚洲国产精品无码久久一线| 毛片免费在线观看网站| 你是我的城池营垒免费看 | 在线亚洲精品自拍| 91成人免费观看网站| 丰满少妇作爱视频免费观看| 亚洲国产精品综合福利专区| 亚洲第一区在线观看| 18女人水真多免费高清毛片|