ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Histograms

Histograms

原创 Linux操作系统 作者:yyp2009 时间:2012-05-07 17:22:52 0 删除 编辑
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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    330
  • 访问量
    1017212