www.Orasql.Com
 
用户名: 密码:  验证码: 注册|找回密码 oracleawen's blog  
 
         当前位置 >> 技术论坛  发表帖子     论坛版块     查找帖子
如何优化经常进行删除的非global temp table的统计信息-技术论坛||Oracle高手之路—Orasql.Com!
            如何优化经常进行删除的非global temp table的统计信息
 
发贴人:oraerr
oracleerr@gmail.com
用户级别:普通会员
发贴总数:0
注册时间:2012-07-10 21:44:29
2013-03-30 22:31:30
oracle 11.2.0.3.0   ,   bi 系统, 目前在进行优化时, 发现有些表 是 xx_xx_tmp 结尾的,但是不是global temp table,  
是普通的表,  而且业务到一定时候会进行truncate (具体什么时候不清楚, 每天都有), 统计分析行数为 0 , 但是在
第二天进行sql优化的时候, 发现这个表的数据量达到 200多万, 而统计信息中的num_rows 还是0 , 导致性能很差,
在有数据的时候重新进行分析后, sql 性能得到改善, 对于这种业务不定期的对数据进行删除的表, 如何进行统计
分析会比较好  ?   

-----------------
以前的同事也遇到过你的这个问题,
但是公司的权限是分割的
于是他写了个工具处理
大体思想是这样的
一张储发表,里面有表名列,插入后通过触发器调度过程分析表统计信息
由于统计信息收集是ddl语句,所以收集统计信息的语句用自治事务包裹,
这样不会影响主过程的提交与回滚

      
 
  
 Orasql.Com|E-Mail:oracleawen@gmail.com|Phone:15271942915|Copyright © 2011|All Rights Reserved|