Oracle执行计划绑定

有时我们查询 gv$sql可以看出同一个SQL不同子游标的一些运行细节:

selet t.inst_id,t.sql_id,t.child_number,t.plan_hash_value,t.last_active_time,t.elapsed_time/100000/decode(t.executions,0,1,t.executions),t.elapsed_time/1000000,t.executions,t.sql_text from gv$sql t where sql_id='xxx'

通过以上查询如果涉及同一个SQL运行信息差异很大的情况,基本就要去对应检查下,SQL是不是性能出了问题。

涉及sql中的一些绑定变量可以查询 gv$sql_bind_capture。

而执行计划的固定问题,这也根据特定的业务场景来,例如针对的sql里的对象数据基本无变动,特别是像一些历史分析数据。

执行计划固定的方法:outline、SQL Profile、SPM 这三者的区别这里我不做细述。以下我会针对SPM来做个演示.

待续。。。

猜你喜欢

转载自blog.51cto.com/2012ivan/2133789