oracle直方圖使用
Height-Balanced Histograms:當桶數量<列中的不同值的個數,或者不同值大於254.
最佳化器首先會檢查在直方圖中使用謂詞作為endpoint的有多少個bucket?
1,如果有多個,計算公式:
Number of bucket endpoints / total number of buckets) * number of rows in the table
2,對於只是一個bucket或者不是任何bucket的endpoint的值最佳化器將使用下面的計算公式:
DENSITY * number of rows in the table
Frequency Histograms:當列中的不同值的個資料小於254時會建立頻率直方圖(當桶數量>列中的不同值的個數)
例如,對於謂詞promo_category_id=10,最佳化器首先需要判斷在直方圖中10作為end point的bucket的數量.透過找到endpoint為10的bucket 503,然後減去前面的bucket數,bucket 483,503-483=20.然後基數評估將使用下面的公式進行計算(number of bucket endpoints/ total number of bucket) * num_rows,20/503*503,所以在promotoins表中promo_category_id=10的記錄有20行.
Oracle基於列的使用資訊(SYS.COL_USAGE$)和資料的傾斜情況能自動判斷這個列是否需要直方圖.例如只在一個等號謂詞中看到的唯一性列oracle是不會對這個唯一性列自動建立直方圖.
http://blog.itpub.net/26015009/viewspace-1068582/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20747382/viewspace-2130806/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 直方圖Oracle直方圖
- Oracle直方圖解析Oracle直方圖圖解
- Oracle直方圖詳解Oracle直方圖
- oracle直方圖筆記-轉Oracle直方圖筆記
- (轉)Oracle直方圖詳解Oracle直方圖
- Oracle直方圖詳解(ZT)Oracle直方圖
- 直方圖直方圖
- 使用直方圖注意事項直方圖
- oracle直方圖histogram小記(一)Oracle直方圖Histogram
- 轉貼oracle直方圖histogram(二)Oracle直方圖Histogram
- 【效能優化】Oracle直方圖解析優化Oracle直方圖圖解
- oracle統計資訊和直方圖Oracle直方圖
- 收集直方圖及檢視直方圖資訊直方圖
- Oracle直方圖 (柱狀圖 histograms) 詳解Oracle直方圖Histogram
- 直方圖(histograms)直方圖Histogram
- 7.3 直方圖直方圖
- oracle統計資訊--直方圖的收集:Oracle直方圖
- Oracle直方圖統計資訊的應用Oracle直方圖
- Oracle直方圖 32位元組限制Oracle直方圖
- 直方圖均衡化直方圖
- 04:垂直直方圖直方圖
- 直方圖學習直方圖
- [zt] Histograms - 直方圖Histogram直方圖
- dba_histograms等高直方圖和等頻直方圖的理解Histogram直方圖
- ORACLE的直方圖的一些試驗Oracle直方圖
- [轉] oracle統計資訊(statistics)和直方圖(histogram)Oracle直方圖Histogram
- [20170615]直方圖-高度直方圖(11g).txt直方圖
- 直方圖中最大矩形直方圖
- 【效能優化】直方圖優化直方圖
- [Python影象處理] 十一.灰度直方圖概念及OpenCV繪製直方圖Python直方圖OpenCV
- OpenCV計算機視覺學習(9)——影像直方圖 & 直方圖均衡化OpenCV計算機視覺直方圖
- halcon-直方圖均衡直方圖
- python如何畫直方圖Python直方圖
- elasticsearch 之 histogram 直方圖聚合ElasticsearchHistogram直方圖
- MATLAB實現頻數直方圖——hist的使用Matlab直方圖
- 【沃趣科技】直方圖系列1直方圖
- Matplotlib直方圖繪製技巧直方圖
- opencv——影像直方圖與反向投影OpenCV直方圖