- 论坛徽章:
- 0
|
本帖最后由 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分析都开始有效了,请问这个是怎么个情况? |
|