Oracle 12c新特性 - Top frequency histogram 2

tolywang發表於2014-03-24

3.  top frequency histogram 定義

      Top frequency就是把表裡很少出現的某些distinct的值直接在直方圖裡忽略掉,因為這些值在表裡出現的次數太少(系統會對列中distinct value出現的次數進行排序,保留top n 的distinct值, 其中n為bucket數), 被忽略的distinct值在計算cardinality的時候按照沒有直方圖處理 。

      且distinct value中的最小值和最大值必須在ENDPOINT_VALUE中,如果最大、最小值不在直方圖資料中,則需將資料量最小的數值移除以騰出位置給最大最小值。   和頻率直方圖相似,endpoint_value值的個數也是對應endpoint_number減去前一個endpoint_number得到的。


如下所示,值的行數排在top 8的1,2,3,4,6,7,8,9, 但是由於最大值12沒有排在其中,所以將排在最後的8 (8有2行,和值1,2,7幾個行數一樣)移除,將12放在最後。

select  *   from  dba_tab_histograms  where  owner = 'APPS' 
 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 1 1 1 C102 0 SHARED
HW TEST_TMP3 CODE 3 2 2 C103 0 SHARED
HW TEST_TMP3 CODE 103 3 3 C104 0 SHARED
HW TEST_TMP3 CODE 123 4 4 C105 0 SHARED
HW TEST_TMP3 CODE 177 6 6 C107 0 SHARED
HW TEST_TMP3 CODE 179 7 7 C108 0 SHARED
HW TEST_TMP3 CODE 184 9 9 C10A 0 SHARED
HW TEST_TMP3 CODE 185 12 12 C10D 0 SHARED

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

相關文章