日期:2014-05-17  浏览次数:20995 次

如何查看Oralce执行计划的缓存
sql被编辑解释后,生成执行计划后,这个执行计划会缓存起来吗?如何查询这个被缓存的计划,谢谢。

------解决方案--------------------
执行计划会缓存起来。
select  * from  v$sql
这个视图就可以查询

使用 alter system  flush  shared_pool;
就可以清楚缓存sql语句
------解决方案--------------------
这个好像不行,以前我也有这种经历。我的考虑是因为应用系统是新开的一个实例,而sqlplus又是一个实例吧。两个是不同的实例,查询到的结果不同。
刚查到的资料显示,需要使用10046事件进行跟踪
http://emuch.net/fanwen/439/58204.html
------解决方案--------------------
在sqlplus中,set timing on;set autotrace on;
然后输入sql语句就可以查看执行计划了