• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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
    主站蜘蛛池模板: 国产香蕉国产精品偷在线| 日韩精品区一区二区三VR| 亚洲国产精品嫩草影院在线观看| 99久久精品免费观看国产| 国产精品亚韩精品无码a在线| 日韩精品一区二区三区在线观看 | 精品视频久久久久| 亚洲精品在线观看视频| 国产精品免费观看调教网| 亚洲欧洲国产精品香蕉网| 欧美成人精品高清视频在线观看 | 久久亚洲精品国产精品| 在线成人精品国产区免费| 亚洲av无码国产精品色在线看不卡 | 日本精品在线视频| 动漫精品专区一区二区三区不卡| 全球AV集中精品导航福利| 无码国内精品久久人妻麻豆按摩 | 国产精品欧美久久久久天天影视| 最新国产精品亚洲| 日本一区精品久久久久影院 | 久久久久久国产精品无码超碰| 亚洲乱码国产乱码精品精| 亚洲精品宾馆在线精品酒店| 亚洲电影日韩精品| 中文字幕久久精品| 亚洲精品国产字幕久久不卡| 亚洲日韩国产精品第一页一区 | 久久精品三级视频| 日韩精品免费一线在线观看| 午夜精品一区二区三区在线视| 亚洲精品国产成人影院| 午夜不卡久久精品无码免费| 热re99久久精品国99热| 欧美日韩人妻精品一区二区在线| 少妇伦子伦精品无码STYLES| 精品人妻码一区二区三区| 国产a视频精品免费观看| 好属妞这里只有精品久久| 亚洲综合国产精品| 精品99久久aaa一级毛片|