删除表分区后,分区的本地索引会发生什么oracle

gcuhipw9  于 2023-04-20  发布在  Oracle
关注(0)|答案(1)|浏览(270)

我有一个要求,每个月都要为一个表掉多个分区,表已经根据年和月进行了分区,并且已经分区了本地索引1.由于索引是本地的我相信他们得到下降与分区,没有其他行动(重建索引)是必需的。表没有任何全局索引2。是否应该在每个删除分区后调用gather stats,或者在删除所有分区(一次删除4/5个分区)后这样做

4jb9z9bj

4jb9z9bj1#

本地索引绑定到表分区,因此如果删除一个表分区,相应的本地索引分区也会沿着消失。
类似地,分区级别的统计数据也很好,因为其余分区保留了与它们相关联的所有元数据。
在维护操作之后,全局统计数据总是值得一看的。Oracle的较新版本将自动尝试对新的全局统计数据进行合理的评估,例如

SQL>  create  table t ( x int, y int ) partition by list (x )
  2   ( partition p1 values (1), partition p2 values (2));

Table created.

SQL>  insert into t values (1,1);

1 row created.

SQL>  insert into t values (2,2);

1 row created.

SQL> exec dbms_stats.gather_table_stats('','T')

PL/SQL procedure successfully completed.

SQL> @tab
Enter value for table_name: t

TABLE_NAME                       NUM_ROWS     BLOCKS EMPTY_BLOCKS AVG_ROW_LEN  CHAIN_CNT
------------------------------ ---------- ---------- ------------ ----------- ----------
T                                       2       2012            0           6          0

SQL> alter table t drop partition p1;

Table altered.

SQL> @tab
Enter value for table_name: t

TABLE_NAME                       NUM_ROWS     BLOCKS EMPTY_BLOCKS AVG_ROW_LEN  CHAIN_CNT
------------------------------ ---------- ---------- ------------ ----------- ----------
T                                       1       1006            0           6          0

SQL>

但是像不同的键、列级统计数据等,很大程度上取决于你收集的是什么样的统计数据,你是否有概要等

相关问题