查一下Oracle联机文档中的Analyze table的语法吧!

解决方案 »

  1.   

    analyze会增加磁盘空间analyze table tablename estimate statistics sample 10 percent;
      

  2.   

    analyze 的使用
    不如使用 dbms_stat包(这是因为在收集统计信息的时候有差异,具体的细说起来比较多,优化效果的选择也有差异),用户登陆sqlplus
    exec dbms_stats.create_stat_table(user,user||'_stat_table');搜集统计信息
    exec DBMS_STATS.GATHER_schema_STATS(ownname => user,method_opt => 'for all indexed columns size 1');简单的可以这么使用
    删除统计数据如果表很大,分析慢,estimate_percent,百分之20为例
    exec DBMS_STATS.GATHER_schema_STATS(ownname => user,method_opt => 'for all indexed columns size 1',estimate_percent => 20);
    exec DBMS_STATS.DELETE_schema_STATS(ownname => user);