数据库
首页 > 数据库> > 【DB笔试面试649】在Oracle中,分区表统计信息的更新机制是怎样的?

【DB笔试面试649】在Oracle中,分区表统计信息的更新机制是怎样的?

作者:互联网

640?wx_fmt=gif

♣  

题目         部分

在Oracle中,分区表统计信息的更新机制是怎样的?


     


♣  

答案部分          


分区表统计信息的更新机制如下所示:

① 当某个分区的数据变化达到10%,自动收集统计信息任务运行时,Oracle会更新该分区的统计信息。

② 当分区表中所有分区中数据变化量的总和达到分区表总数据量的10%,Oracle会更新该分区表的统计信息。

另外,需要注意的是,在更新分区表的统计信息时,在10.2.0.5之前必须要扫描该表所有的分区或整个表的数据,而从10.2.0.5开始,可以设置分区表按增量变化统计,只收集有数据变化的分区。要设置分区表按增量变化统计,可以设置表统计信息的INCREMENTAL属性。对于一些数据量特别大的分区表,若设置了INCREMENTAL=TRUE属性,则能够显著提升分区表统计信息收集的速度:

1EXEC DBMS_STATS.SET_TABLE_PREFS(USER,'TABLE_NAME','INCREMENTAL','TRUE');--只收集数据变动的分区
2SELECT DBMS_STATS.GET_PREFS('INCREMENTAL',NULL,'TABLE_NAME') FROM DUAL;--查看分区表INCREMENTAL的值

  

标签:分区,DB,信息,分区表,INCREMENTAL,Oracle,统计
来源: https://blog.51cto.com/lhrbest/2707244