Oracle 12c新特性 - Hybrid histogram 3

tolywang發表於2014-03-24

4.    混合直方圖值分配原則 

       混合直方圖把各個值分開,使得沒有哪個值是佔用一個以上的bucket (不存在值跨bucket存放) , 把原來高度平衡直方圖中跨兩個bucket的值都挪到一個bucket中. 使用一個欄位 endpoint_repeat_count來說明這個bucket 中endpoint_value值的重複次數, 透過repeat count,最佳化器能夠為almost popular值獲得精確的估算值  。 結束點值(endpoint_value)得選擇率計算的精確度就會大大增加。

注意:取樣百分比還可以設定為NULL(即由資料庫自己計算)生成混合柱狀圖。由於混合柱狀圖的出現是為了解決高平衡柱狀圖的問題,因此他們之間是互斥的。即生成混合柱狀圖的條件滿足後,統計資料收集過程就不會考慮高平衡柱狀圖。

 

我們來看hybrid直方圖是啥樣子的:

select  *   from  dba_tab_histograms  where  owner = 'HW'  AND table_name = 'TEST_TMP3'  AND COLUMN_NAME ='CODE';  
 
 
OWNER TABLE_NAME COLUMN_NAME ENDPOINT_NUMBER ENDPOINT_VALUE ENDPOINT_ACTUAL_VALUE ENDPOINT_ACTUAL_VALUE_RAW 

ENDPOINT_REPEAT_COUNT SCOPE

HW TEST_TMP3 CODE 2 1 1 C102 2 SHARED
HW TEST_TMP3 CODE 104 3 3 C104 100 SHARED
HW TEST_TMP3 CODE 124 4 4 C105 20 SHARED
HW TEST_TMP3 CODE 179 6 6 C107 54 SHARED
HW TEST_TMP3 CODE 183 8 8 C109 2 SHARED
HW TEST_TMP3 CODE 188 9 9 C10A 5 SHARED
HW TEST_TMP3 CODE 192 12 12 C10D 1 SHARED
HW TEST_TMP3 CODE 195 15 15 C110 1 SHARED
HW TEST_TMP3 CODE 198 18 18 C113 1 SHARED
HW TEST_TMP3 CODE 202 22 22 C117 1 SHARED
HW TEST_TMP3 CODE 205 25 25 C11A 1 SHARED
HW TEST_TMP3 CODE 208 28 28 C11D 1 SHARED
HW TEST_TMP3 CODE 212 32 32 C121 1 SHARED
HW TEST_TMP3 CODE 213 33 33 C122 1 SHARED
HW TEST_TMP3 CODE 214 34 34 C123 1 SHARED
HW TEST_TMP3 CODE 216 36 36 C125 1 SHARED

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1128185/,如需轉載,請註明出處,否則將追究法律責任。

相關文章