go4321 发表于 2018-9-21 11:26:36

Oracle执行计划绑定

  有时我们查询 gv$sql可以看出同一个SQL不同子游标的一些运行细节:
  selett.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_textfrom gv$sql t where sql_id='xxx'
  通过以上查询如果涉及同一个SQL运行信息差异很大的情况,基本就要去对应检查下,SQL是不是性能出了问题。
  涉及sql中的一些绑定变量可以查询 gv$sql_bind_capture。
  而执行计划的固定问题,这也根据特定的业务场景来,例如针对的sql里的对象数据基本无变动,特别是像一些历史分析数据。
  执行计划固定的方法:outline、SQL Profile、SPM这三者的区别这里我不做细述。以下我会针对SPM来做个演示.
  待续。。。
  https://blog.csdn.net/yangzhawen/article/details/44017271
  http://blog.itpub.net/26736162/viewspace-2107604/

页: [1]
查看完整版本: Oracle执行计划绑定