oracle 抽样_深入理解Oracle动态采样
Oracle
動態采樣(
Dynamic?Sampling
,
12c
稱為
Dynamic?statistics)
,是對統計信息的?一個重要補充,當數
據動態變化,?無法?用典型的統計信息描述時,動態采樣可以給在解析時對表中數據進?行行采樣,為優化器?提供
準確的估算值(
cardinality
)。動態采樣的主要有以下?幾個應?用場景:
?一個經典的場景就是業務場景中的臨時表,?比如
ETL
數據清洗轉換過程中的臨時表,?比如
BI
系統中存
放計算報表結果的臨時表。這些臨時表可能是
Oracle
中的
global?temporary?table
,也可能是正常的堆
表。因為臨時表中的數據時動態變化的,不不同時間點,臨時表中的數據量量變化很?大,沒有?一種合適的統
計信息使優化器?產?生合適的執?行行計劃。這種場景適合采?用動態采樣技術,通常會刪除臨時表上的統計信
息,并且鎖定統計信息,不不讓搜集統計信息的
Job
更更新臨時表上的統計信息,查詢臨時表時,優化器?會
對臨時表進?行行動態采樣,以確定臨時表的
cardinality
。
另?一個場景是在單表上使?用組合過濾條件,并且組合過濾條件并不不是簡單的相等操作,或者在過濾列列上
使?用轉換函數,?無法使?用
column?group
擴展統計信息,簡單使?用多個列列上的統計信息也?無法產?生合適
的統計信息。
12c
之前,動態采樣只能預估單表
cardinality
,
12c
版本,
Oracle
對動態采樣做了了很?大的增強,可以估
算
group?by
的聚合結果集和連接結果集的
cardinality
。
使?用動態采樣,優化器?往往可以獲得?高質量量的估算值,從?而產?生更更優化的執?行行計劃。本?文將介紹三種個動態
采樣的適?用場景。
?金金融?行行業客戶
CRM
系統的分析語句句執?行行時間經常需要
5
分鐘以上,通過分析
Top?SQL
的執?行行計劃,發現執?行行
計劃的估算值偏差離譜,?比如下圖
SQL?Monitor
報告中,對于表
P_CUST_STAT
,優化器?估算值為
1
,實際
值為?一千四百萬?行行。導致后續連接?方式為
nested?loop
,被驅動表被訪問了了?一千四百萬次。
深?入理理解
Oracle
動態采樣
動態采樣介紹
臨時表和動態采樣
優化器?動態采樣解析
實際案例例
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的oracle 抽样_深入理解Oracle动态采样的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雷军卸任小米软件技术公司董事长,近日连卸
- 下一篇: 大数据平台容量评估_大数据平台