快速业务通道

PL/SQL用户指南与参考--PL/SQL应用程序性能调优

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-18
第十二章 PL/SQL应用程序性能调优


1、PL/SQL性能问题的缘由

应基于PL/SQL的应用程序施行效率低下时,通常是因为不好的SQL话语、编程步骤,对PL/SQL基础掌握糟糕或是乱用共享内存储器促成的。

•PL/SQL中不好的SQL话语
PL/SQL编程看上去相对照较简单,由于它们的复杂内容都掩藏在SQL话语中,SQL话语经常分担大量的工作。这乃是为何不好的SQL话语是施行效率低下的重要缘故了。如若一个程序中包孕很多不好的SQL话语,那么,无论是PL/SQL话语写的有何其美都是于事无补的。

如其SQL话语减低了我们的程序速度的话,将要按底下列表中的步骤分析一下子它们的执行计划和性能,其后从新编纂SQL话语。比如,查询优化器的揭示就可能会排除掉问题,如没有必要的全表扫描。

一.EXPLAIN PLAN话语
二.施用TKPROF的SQL Trace效能
三.Oracle Trace效能
•糟糕的编程习气
正常,糟糕的编程习气也会给程序带回负面影响。这种情况下,即使是有心得的程序员写出的代码也也许妨碍性能发挥。

至于给定的一项任务,无论是所选的程序语言有何等适合,编纂品质较差的子程序(比如,一个很慢的分门别类或检索函数)或许毁掉整个性能。假设有一个急需被应用程序频繁调用的查询函数,如其这个函数不是应用哈希或二分法,而是直接运用线性查寻,就会大大影响效率。糟糕的程序指的是那些带有从未有过运用过的变量的,传送没有必要的参数的,把初始化或计算放到用不着的循环中施行的程序之类。

•内置函数的反复
PL/SQL提供了好多高度优化过的函数,如REPLACE、TRANSLATE、SUBSTR、INSTR、RPAD和LTRIM等。不用手工编撰我们自各儿的版本,由于内置函数已经是很高效率的了。即或内置函数的效能远远超过我们的亟需,也不用手工兑现它们效能的子集。

•低效的流程统制话语
在计算逻辑表达式值的时分,PL/SQL运用短路的计算模式。且不说,万一结果可以被确定下来,PL/SQL就会终止余下的表达式计算。比如,下部的OR表达式,应sal比1500小的时分,操作符左边的值乃是TRUE,之所以PL/SQL就不会再计算操作符右侧表达式的值:

IF (sal < 1500) OR (comm IS NULL) THEN
...
END IF;

现下,考虑下部的AND表达式:

IF credit_ok(cust_id) AND (loan < 5000) THEN
...
END IF;

在上面的函数中,布尔函数credit_ok老是被调用。但是,如其我们向底下这么退换两个表达式的位置:

IF (loan < 5000) AND credit_ok(cust_id) TH

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号