ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【调优】CBO基础(五)

【调优】CBO基础(五)

原创 Linux操作系统 作者:yellowlee 时间:2011-12-27 19:13:05 0 删除 编辑

收集对象信息

 

前面看到了对象统计信息的重要性,再来看看如何获取和保证这些信息:

 

The DBMS_STATS subprograms perform. the following general operations:

 

Gathering Optimizer Statistics

Setting or Getting Statistics

Deleting Statistics

Transferring Statistics

Locking or Unlocking Statistics

Restoring and Purging Statistics History

User-Defined Statistics

Pending Statistics

Comparing Statistics

Extended Statistics

 

最好的了解方法是查看这个packagedbms_stats的说明,这个包在sys用户下。

 

使用一把,以gather_table_stats为例:

SQL> begin

  2    dbms_stats.gather_table_stats(ownname => 'TEST', --拥有者用户名

  3                                  tabname => upper('t_test_statistics1'),--表名

  4                                  degree  => 2, --并行度,也可以设置为默认值

  5                                  --DBMS_STATS.AUTO_DEGREE

  6                                  cascade          => true, --是否收集索引统计信息

  7                                  method_opt       => '',

  8                                  estimate_percent => 100, --是否采样收集,值为采样百分比

  9                                  --或者取常量:DBMS_STATS.AUTO_SAMPLE_SIZE0

 10                                  block_sample => true,--采用数据行或者块采样,true为块

 11                                  granularity  => 'AUTO', --分区粒度级别,取值为

 12                                  --AUTO ALL GLOBAL PARTITION

 13                                  --SUBPARTITION GLOBAL AND PARTITION10g默认AUTO

 14                                  force => false);

 15  end;

 16 

 17  /

 

PL/SQL procedure successfully completed.

此外还有gather_temp是否收集临时表统计信息,gather_sys是否收集sys用户的统计信息等

或者也可以使用 analyze table 来收集统计信息:

SQL> analyze table t_test_statistics1 compute statistics;

Table analyzed.

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

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

注册时间:2008-12-27

  • 博文量
    316
  • 访问量
    655211