ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle扩展统计信息

Oracle扩展统计信息

原创 Linux操作系统 作者:abstractcyj 时间:2013-10-31 10:14:29 0 删除 编辑
      从Oracle 11g开始,数据库可以收集基于表达式或者一组列上的对象统计信息和直方图。
  可以针对关联列或者表达式来收集扩展统计信息。
  关联列是指,假设有个世界人口表,使用谓词country = 'Denmark' and language = 'Danish', 对于这张表中的大部分记录来讲,这两个限制条件很可能适用于同一批记录。事实上,说丹麦语的人大部分住在丹麦,大部分住在丹麦的人说丹麦语。也就是说,这两个约束条件几乎是冗余的,这样的列通常被叫做关联列(correlated column), 也给优化器出了难题。这是因为,没有对象统计信息或者直方图来描述数据之间的依赖关系。换句话说,查询优化器实际上假定存储在不同列上的数据是不相关的。
  
SELECT dbms_stats.create_extended_stats(ownname   => 'H2',
                                        tabname   => 'D_ACCLIST',
                                        extension => '(upper(BZ))')
FROM DUAL                                        
                                        
                                        
SELECT dbms_stats.create_extended_stats(ownname   => 'H2',
                                        tabname   => 'D_ACCLIST',
                                        extension => '(RQ,BZ)')
  FROM dual


QQ20131031104314.jpg

QQ20131031104350.jpg

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

请登录后发表评论 登录
全部评论
曾从事java方向开发多年。近年已经转入数据库方向。主要擅长SQL优化,Oracle数据库问题诊断,Oracle备份与恢复等。服务于医药物流,医院等行业

注册时间:2010-01-26

  • 博文量
    555
  • 访问量
    828544