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
- [16] Go Reflect 性能
- [14] iOS可视化编程 Tips 之“无需代码设置
- [13] 浅谈Web安全验证码
- [13] iTerm2 (Mac Terminal)
- [12] osx平台上lol英雄联盟launcher启
- [12] 基于HTTP缓存轻松实现客户端应用的离线支持
- [12] 界面设计速成
- [11] iOS下自己动手造无限循环图片轮播
- [11] 手把手教你CSRF防护
- [11] iOS并发编程(Concurrency Pr