Histograms

1 首先直方图的意义在于,当数据分布没有钟型曲线那么的平滑和连续时,经常的分布有大的陡起陡落和有很大落差时,此时钟欣曲线也就是统计学中的正态分布已经没法描述其趋势,此时需要直方图来对分布有大的陡起陡落和有很大落差的数据进行个别的个性描述,这就是直方图的意义所在;
2 oracle中,直方图的意义更多仍然是所谓数据倾斜严重(分布有大的陡起陡落和有很大落差的数据走势时)能提供其更精细的描述来给cbo提供更进一步的准确的信息来选择更好的执行计划;比如累计频率直方图,把相同的值累积到一个bucket中,这个相同的值的累积拿skew标识,用bucket来界定数据集市。
3 而When Distinct Values <= Buckets
– Then Frequency Histogram is created
– Else Height-Balanced Histogram is created依据此,早起版本中的buck数和行中不同值的总数不匹配所以总是没法创建,这就是为什么伪造频率直方图出现的缘故;到10g后修补为匹配后(当然都是针对dbms-stats了)频率直方图将更好的为cbo发挥其描述功能。
4  有匹配的bucket后自然频率直方图描述更精细,但是如果不匹配时往往就需要高度均衡直方图,他呢本身把数据均分后分别用bucket界定起来,然后再每个buckct中分别进行更精细的描述,所以高度均衡直方图最终的描述都是每个bucket分别描述的结果,所以基于均分数据,自然没有频率直方图来的更精细
5  最终直方图对非正态分布数据和严重倾斜的数据给出自己描述的一个分别均衡趋势,填补正态分布描述数据趋势的局限和拿自己描述的均衡趋势来提供一个数据分布有大的陡起陡落和有很大落差的数据走势的分布均衡,辅助cbo作出更智能的判断和更好执行路径的选择。
 
6 我个人觉得:
1 不常用的列自然不用去创建;
2 表关联字段性能稳定时尽量不要去创建;
3 pk列不要去创建;
4 即使要创建尽量对经常访问的列创建,避免创建列数占表比例过大;

 

 

----------end--------


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13750068/viewspace-722926/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13750068/viewspace-722926/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值