1、问题现象
在实际环境中,时常遇到一条sql在管理工具直接执行较快,而在程序中执行较慢,通常是由于程序中使用绑定变量预编译导致执行计划不对造成。
2、问题处理
对于此内问题首先dump内存中的执行计划 与管理工具的执行计划做一个对比
1)查询内存中执行计划
通过sqlstr进行模糊匹配查找
select cache_item,tableid,sqlstr from v$cachepln where sqlstr like '%from dual%';
2)通过cache_item dump执行计划
alter session set events 'immediate trace name plndump level 2792495280,dump_file ''D:\dmsoft_data\sql.txt''';
3、查看文本执行计划