oracle 执行计划 变化,执行计划变化后的处理思路

xulijia

思路永远比操作更重要

当生产环境发生执行计划变化并造成性能恶化的时候,处理的思路如下:

1. 绑定执行计划(sqlprofile SPM) --最快速有效的方法

(如果没有好的执行计划可以绑定)

2.调整统计信息(一般是收集一下统计信息、或者手工设定一个统计信息或者删除统计信息等)

然后清空一下相关sql在内存中的游标,或者收集统计信息的时候指定no_invalidate参数失效相关游标

exec dbms_stats.gather_table_stats(ownname=>'MEPF_DEV', tabname=>'JOB_HISTORY', estimate_percent=>10, method_opt => 'for all columns size

auto',degree=>8,cascade=>TRUE,no_invalidate=>FALSE)

一般可以使得执行计划回归

3.创建索引、不可见索引等涉及对象的操作(可能遭遇资源忙)

4.造一个执行计划,并通过替换outline的方式绑定(这个需要一些时间)

5.改写优化sql语句、添加各类hint等等 (一般无法立刻上线)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值