tobewithwind 发表于 2013-05-17 21:12

分区表分析为何无效?

本帖最后由 tobewithwind 于 2013-05-20 11:33 编辑

我新建了张分区表A,以表的一个字段MTH_IDNT来分区,即PARTITION BY RANGE (MTH_IDNT),新建表的时候初始化了一个partition如下,
PARTITION BY RANGE (SNAPSHOT_MNTH_IDNT)
(
PARTITION P_TABLEA_M201001 VALUES LESS THAN (201002)
);

然后这个表每个月会load一次数据并在load前新建一个PARTITION为load数据服务,每次load好数据将对新的partition进行表分析操作.
分析语句如下,
dbms_stats.gather_table_stats (ownname=>'**schema名(略)**',
       tabname=>'**表名(略)**',
       partname=>'**要分析的partition全名(略)**',
       estimate_percent=>25,
       degree=>4,
       granularity=>'PARTITION',
       cascade=>TRUE,
       method_opt=>'FOR ALL INDEXED COLUMNS SIZE 1');

但是当此表刚建好时,我未对初始的partition进行分析,然后每次load数据结束后,对于新partition的分析都是无效的貌似,因为我查看了下all_tables 下面的相应记录,last_analyzed 为空,接下来的每次分析都是无效。于是乎,尝试手动执行分析语句对partition进行分析,但还是无效。
然而当我手动的对初始partition分析完后,last_analyzed 就相应的有值了,然后对于其他任何partition分析都开始有效了,请问这个是怎么个情况?

tobewithwind 发表于 2013-05-21 10:44

好吧,如果从all_tab_partitions里面查看就能看到partition已分析的信息了...不该从all_tables里面check.
页: [1]
查看完整版本: 分区表分析为何无效?