oracle 11g 收集统计信息的新特点介绍

  对组合列创建统计信息

  --检查表结构

  select * from scott.emp where 1=2;

  --创建虚拟列 会输出虚拟列名

  select dbms_stats.create_extended_stats('scott','emp','(empno,JOB)') from dual;

  select * from dba_tab_cols where column_name like 'SYS_STU%';

  --查看列名

  select * from dba_tab_cols a where a.column_name='SYS_STU9D8L7V4NR#823O9R1EKCA6C';

  --查看列组合的统计信息

  select * from dba_stat_extensions where extension_name='SYS_STU9D8L7V4NR#823O9R1EKCA6C';

  --对组合列收集直方图,则可以如下所示:

  exec dbms_stats.gather_table_stats('scott','emp',method_opt=>'for columns (empno,JOB) size AUTO');

时间: 2024-12-31 19:49:28

oracle 11g 收集统计信息的新特点介绍的相关文章

Oracle 11g的统计信息功能增强

在11g中,Oracle在统计信息方面进行了进一步的增强. 这篇介绍PENDING统计信息. 在10g中,Oracle提供了恢复统计信息的方法,这使得统计信息收集后造成的问题可以通过恢复原始统计信息的方法快速解决. 在11g中,Oracle更进了一步,用户收集的统计可以设置为悬而未决的,等到统计信息验证过然后在发布到数据字典中. SQL> SELECT * FROM V$VERSION; BANNER -----------------------------------------------

如何启用oracle 11g自动收集统计信息

今天接到朋友数据库一个case,在DBCA建库时,把自动收集统计信息的选项去掉了,数据库运行半年没有收集过统计信息,现在要启用方法如下: exec DBMS_AUTO_TASK_ADMIN.ENABLE(); exec DBMS_AUTO_TASK_ADMIN.ENABLE(client_name => 'auto optimizer stats collection',operation =>'auto optimizer stats job',window_name=> null);

收集统计信息导致索引被监控

      对于索引的调整,我们可以通过Oracle提供的索引监控特性来跟踪索引是否被使用.尽管该特性并未提供索引使用的频度,但仍不失为我们参考的方式之一.然而,最近在Oracle 10.2.0.3中发现收集统计信息时导致索引也被监控,而不是用于sql查询引发的索引监控.如此这般,索引监控岂不是鸡肋?   1.基于Oracle 10g 收集统计信息索引被监控情形 scott@CNMMBO> select * from v$version where rownum<2; BANNER -----

Oracle收集统计信息之NO_INVALIDATE参数

Oracle收集统计信息之NO_INVALIDATE参数 Oracle统计量对于CBO执行是至关重要的.RBO是建立在数据结构的基础上的,DDL结构.约束会将SQL语句分为不同的成本结构等级.而CBO是在数据结构的基础上,加入数据表细粒度信息,将成本结构细化为成本cost值. 相对于数据表的DDL结构,统计量反映了当下数据表数据分布情况,可变性更强.我们经常遇到这样的场景,数据导入操作之后,原有一个运行良好的作业突然效率低下.当我们手工收集一下统计量之后,作业效率提升.这种现象也就是反映了统计量

Oracle 判断 并 手动收集 统计信息 脚本

CREATE OR REPLACE PROCEDURE SchameB.PRC_GATHER_STATS AUTHID CURRENT_USER IS BEGIN SYS.DBMS_STATS.GATHER_TABLE_STATS('SchName', 'TableName', CASCADE => TRUE); END; /   select owner,table_name,last_analyzed,num_rows from dba_tables where owner='SYSTEM'

oracle收集统计信息

什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.比如,表的行数,块数,平均每行的大小,索引的leaf blocks,索引字段的行数,不同值的大小等,都属于统计信息.CBO正是根据这些统计信息数据,计算出不同访问路径下,不同join 方式下,各种计划的成本,最后选择出成本最小的计划. 统计信息是存放在数据字段表中的,如dba_tab_statistics 如何搜集统计信息 统计信息搜集也是有多种方法,推荐大家使用DBMS_STATS 表来进行统计信息搜集及

Oracle并发(CONCURREMT)收集统计信息 (文档 ID 1555451.1)

 Oracle并发(CONCURREMT)收集统计信息 (文档 ID 1555451.1)   >                    >    >  >      >  >      >                          >   >>             >>>>>> >>>>>> >> > >>>>>&

Oracle多列统计信息

Oracle多列统计信息    通常,当我们将SQL语句提交给Oracle数据库时,Oracle会选择一种最优方式来执行,这是通过查询优化器Query Optimizer来实现的.CBO(Cost-Based Optimizer)是Oracle默认使用的查询优化器模式.在CBO中,SQL执行计划的生成,是以一种寻找成本(Cost)最优为目标导向的执行计划探索过程.所谓成本(Cost)就是将CPU和IO消耗整合起来的量化指标,每一个执行计划的成本就是经过优化器内部公式估算出的数字值.      

Oracle 还原历史统计信息

      统计信息是个非常有用的东东,没有它,SQL优化器就好比巧妇难为无米之炊!良好高效的SQL执行计划依赖于真实的统计信息.然而在有些情况下,比如对比生产环境与测试环境执行计划,需要使用生产环境的统计信息.而有时候呢则需要还原Oracle历史统计信息.本文基于后者即如何还原历史统计信息来展开,同时描述了11g缺省情况下对于统计信息的调度.       有关统计信息的导入导出可以参考:            dbms_stats 导入导出 schema 级别统计信息            d