WEB开发网
开发学院数据库Oracle Oracle 11g R1中的统计收集增强 阅读

Oracle 11g R1中的统计收集增强

 2008-09-02 12:45:57 来源:WEB开发网   
核心提示: 手动创建的列组可以使用drop_EXTENDED_STATS存储过程进行删除,--dropthecolumnngroup.BEGINdbms_stats.drop_extended_stats(ownname=>’SCOTT’,tabname=>&rsq

手动创建的列组可以使用drop_EXTENDED_STATS存储过程进行删除。

--dropthecolumnngroup.
BEGIN
 dbms_stats.drop_extended_stats(ownname =>’SCOTT’,
                tabname =>’EMP’,
                extension=>’(JOB,DEPTNO)’);
END;
/
PL/SQLproceduresuccessfullycompleted.
SQL>

将GATHER_%存储过程的METHOD_OPT参数设置为“FOR ALL COLUMNS SIZE AUTO”,这样这些存储过程就可以在现有的列组上对特定对象进行信息收集和统计。

BEGIN
 DBMS_STATS.gather_table_stats(
  ’SCOTT’,
  ’EMP’,
  method_opt=>’forallcolumnssizeauto’);
END;
/

另外,将METHOD_OPT参数设置为“FOR COLUMNS (列清单)”,这样在信息收集统计过程中会自动创建分组。

BEGIN
 DBMS_STATS.gather_table_stats(
  ’SCOTT’,
  ’EMP’,
  method_opt=>’forcolumns(job,mgr)’);
END;
/

[DBA|ALL|USER]_STAT_EXTENSIONS视图显示了关于多列统计的信息。

COLUMNextensionFORMATA30
selectextension_name,extension
FROM dba_stat_extensions
where table_name=’EMP’;
EXTENSION_NAME        EXTENSION
------------------------------------------------------------
SYS_STU3VG629OEYG6FN0EKTGV_HQ6("JOB","DEPTNO")
SYS_STULPA1A#B6YL4KQ59DQO3OADQ("JOB","MGR")
2rowsselected.
SQL>
COLUMNcol_groupFORMATA30
selecte.extensioncol_group,
   t.num_distinct,
   t.histogram
FROM dba_stat_extensionse
   joindba_tab_col_statisticstONe.extension_name=t.column_name
AND  t.table_name=’EMP’;
COL_GROUP           NUM_DISTINCTHISTOGRAM
---------------------------------------------------------
("JOB","DEPTNO")             9FREQUENCY
("JOB","MGR")              8FREQUENCY
2rowsselected.
SQL>

上一页  1 2 3 4  下一页

Tags:Oracle 统计 收集

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接