首页 > Oracle > Oracle 删除指定sql的执行计划。
2013
08-30

Oracle 删除指定sql的执行计划。

1. oracle10g以前我们都是直接刷新共享池,但这样数据库中所有sql的执行计划都会被删掉。这种办法也不可取,下面简单介绍一下这种办法:

测试版本:

    1. 我们执行一条简单的sql:

 

   2. 此时sql的执行计划进入shared pool,但共享池中还有其他sql的执行计划
 

   3. 然后flush一下共享池

   4. 发现最开始那条sql的执行计划已经被flush,但同时共享池所有的sql也被flush,这个代价是非常大的。不可取

 2. 下面我们来看一下删除指定sql的执行计划,10.2.0.5版本以上可直接使用
    1. 执行一条简单的测试sql

    2. 查看sql在共享池的执行计划

   3. 将指定sql的执行计划flush

   4.然后我们再来查看这条sql的执行计划的时候,已经被flush掉了

  删除完毕。就这样就删掉了指定sql的执行计划了。

最后编辑:
作者:Jerry
一个积极向上的小青年,热衷于分享--Focus on DB,BI,ETL