本文共 1282 字,大约阅读时间需要 4 分钟。
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
转载地址:https://blog.csdn.net/weixin_33960567/article/details/116434811 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!