Oracle统计信息的收集、管理与清除
EYGLE EYGLE OWNER 11364 4.378425024777
EYGLE EYGLE OWNER 10912 4.327723735598
EYGLE EYGLE OWNER 9 3.492486153566
EYGLE EYGLE OWNER 55 3.544214255849
EYGLE EYGLE OWNER 295 3.600792664974
EYGLE EYGLE OWNER 303 4.118597800700
EYGLE EYGLE SECONDARY 0 4.049991549657
EYGLE EYGLE SECONDARY 1 4.049991549657
EYGLE EYGLE STATUS 0 4.478619304731
EYGLE EYGLE STATUS 1 4.478619304731
EYGLE EYGLE SUBOBJECT_NAME 0 4.163573043437
EYGLE EYGLE SUBOBJECT_NAME 1 4.533986999644
EYGLE EYGLE TEMPORARY 1 4.621144204096
EYGLE EYGLE TEMPORARY 0 4.049991549657
EYGLE EYGLE TIMESTAMP 1 2.605922956775
EYGLE EYGLE TIMESTAMP 0 2.555831764971
35 rows selected
这种现象就来源于 _column_tracking_level 的特性监控,如果不希望发生这样的信息收集,则可以调整这个隐含的参数。
此时再使用delete_column_stats就可以删除这些字段的统计信息:
SQL> exec dbms_stats.delete_column_stats(user,\'EYGLE\',\'OWNER\');
PL/SQL procedure successfully completed
也可以针对这个列使用如下命令清除这个字段的柱状图但是保留基本统计信息:
SQL> exec dbms_stats.gather_table_stats(user,\'EYGLE\',method_opt=>\'for columns owner size 1\');
PL/SQL procedure successfully completed
通常推荐使用\'for columns owner size 1\' 而不是delete_column_stats去清除列的统计信息,完全删除列的基本统计信息在某些Bug的作用下,可能会导致优化器计算的异常。
在统计信息收集时,必须注意到这些选项和后台动作,否则就可能出现和面对很多莫名其妙的问题。
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:eygle@eygle.com(eygle) 来源: Oracle Life
- 标签: 统计信息
- 发布时间:2010-10-26 22:11:57
- [55] Go Reflect 性能
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [54] Oracle MTS模式下 进程地址与会话信
- [54] 如何拿下简短的域名
- [53] android 开发入门
- [50] 图书馆的世界纪录
- [49] 读书笔记-壹百度:百度十年千倍的29条法则
- [48] 【社会化设计】自我(self)部分――欢迎区
- [39] 程序员技术练级攻略
- [31] 视觉调整-设计师 vs. 逻辑