ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE数据表分析

ORACLE数据表分析

原创 Linux操作系统 作者:sxrenjb 时间:2012-05-16 15:23:12 0 删除 编辑

1、作用:Oracle分析表的作用:用来收集统计信息,为了使基于CBO的执行计划更加准确。
2、对数据表的分析,有两种方式:
      A、analyze table
            analyze table tablename compute statistics
            Analyze index|cluster indexname estimate statistics;
            analyze table  tablename estimate statistics sample 20 percent;
     B、分析整个用户或数据库,还可以采用工具包,可以并行分析Dbms_stats(8i以后提供的工具包)
           dbms_stats.gather_schema_stats(User,estimate_percent=>100,cascade=> TRUE);
dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);
这是对命令与工具包的一些总结
1)、对于分区表,建议使用DBMS_STATS,而不是使用Analyze语句。
a) 可以并行进行,对多个用户,多个Table
b) 可以得到整个分区表的数据和单个分区的数据。
c) 可以在不同级别上Compute Statistics:单个分区,子分区,全表,所有分区
d) 可以倒出统计信息
e) 可以用户自动收集统计信息
2)、DBMS_STATS的缺点
a) 不能Validate Structure
b) 不能收集CHAINED ROWS, 不能收集CLUSTER TABLE的信息,这两个仍旧需要使用Analyze语句。
c) DBMS_STATS 默认不对索引进行Analyze,因为默认Cascade是False,需要手工指定为True
3)、对于oracle 9里面的External Table,Analyze不能使用,只能使用DBMS_STATS来收集信息

Reference : http://space.itpub.net/11903161/viewspace-687147 

http://hi.baidu.com/franksu/blog/item/8814e3f802257616d9f9fdb6.html

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

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2012-05-16

  • 博文量
    26
  • 访问量
    28729