在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的值
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
---------------优质麦课------------
详细内容可以添加麦老师微信或QQ私聊。
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:618766405
● 提供OCP、OCM和高可用部分最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。
转载:https://blog.csdn.net/lihuarongaini/article/details/101443708