oracle性能调优之--Oracle硬解析与软解析(四)

2014-11-24 16:18:18 · 作者: · 浏览: 3
1,294 60,976
LATCH.cache bufferschains 51,851 118,340 66,489
LATCH.row cacheobjects 351 123,512 123,161
LATCH.librarycache 40,710 234,653 193,943
LATCH.sharedpool 20,357 243,376 223,019
Run1latches total versus runs --difference and pct
Run1 Run2 Diff Pct
157,159 974,086 816,927 16.13% --proc2使用闩的数量也远远多于proc1,其比值是.13%
PL/SQL procedure successfully completed.
由上面的示例可知,在未使用绑定变量的情形下,不论是解析次数,闩使用的数量,队列,分配的内存,库缓存,行缓存远远高于绑定
变量的情况。因此尽可能的使用绑定变量避免硬解析产生所需的额外的系统资源。
绑定变量的优点
减少SQL语句的硬解析,从而减少因硬解析产生的额外开销(CPU,Shared pool,latch)。其次提高编程效率,减少 数据库的访问次数。 www.2cto.com
绑定变量的缺点
优化器就会忽略直方图的信息,在生成执行计划的时候可能不够优化。SQL优化相对比较困难
六、总结
1.尽可能的避免硬解析,因为硬解析需要更多的CPU资源,闩等。
2.cursor_sharing参数应权衡利弊,需要考虑使用similar与force带来的影响。
3.尽可能的使用绑定变量来避免硬解析。
作者 l106439814