快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-18
二、Trace API:包DBMS_TRACE

在大而复杂的应用程序中,很难追踪子程序的调用。如其施用追踪API,我们就能看到子程序的施行顺序。追踪API是由包DBMS_TRACE兑现的,并提供了追踪子程序或异常的服务。

要应用追踪,先要开启一个追踪对话,运作程序,其后终止追踪对话。应程序执行时,追踪数据就会把搜集并保留到数据库中。在一个对话中,我们可以采取如次方法来施行追踪操作:

一.可选方法,抉择要追踪的某个特定的子程序。
二.调用DBMS_TRACE包中的set_plsql_trace开启追踪。
三.运作要追踪的应用程序。
四.调用进程clear_plsql_trace来终止追踪。
•统制追踪
追踪特大型应用程序可能会制造出大量的难以治理的数据。在开启追踪事前,我们可以取舍是不是限制要搜集的数据量。

另外,还可以抉择追踪级别。比如,如若我们可以抉择追踪所有的子程序和异常或是只追踪选出的子程序和异常。

3、PL/SQL性能优化特点

我们可以运用下边的PL/SQL特点和步骤来优化应用程序:

一.应用当地动态SQL优化PL/SQL
二.应用批量绑定优化PL/SQL
三.施用NOCOPY编译器揭示优化PL/SQL
四.应用RETURNING子句优化PL/SQL
五.施用外部程序优化PL/SQL
六.应用对象部类和聚合优化PL/SQL
这些简略易用的特点可以显明的增高应用程序的施行速度。

一、运用当地动态SQL优化PL/SQL

有点程序务必要实施一些惟独在运行时才力确定下来的SQL话语,这些话语被称为动态SQL话语。早先,要实施动态SQL话语就必须应用包DBMS_SQL。现下,我们可以在PL/SQL中直接运用被称为本土动态SQL的接口来施行各种动态SQL话语。

本土动态SQL更简单使用,而且实施速度也要比DBMS_SQL包快。鄙人面的例证中,我们宣言一个游标变量,其后把它与一个能回到数据表emp记要的动态的SELECT话语联系关系下床:

DECLARE
TYPE empcurtyp IS REF CURSOR;
emp_cv empcurtyp;
my_ename VARCHAR二(15);
my_sal NUMBER := 1000;
BEGIN
OPEN emp_cv FOR ''SELECT ename, sal FROM emp WHERE sal > :s''
USING my_sal;
...
END;

二、应用批量绑定优化PL/SQL

应SQL在聚合的循环内执行时,PL/SQL和SQL发动机间的频繁切换就会影响到施行速度。比如,下头的UPDATE话语就在FOR话语中不住发送到SQL发动机:

DECLARE
TYPE numlist IS VARRAY(20) OF NUMBER;
depts numlist := numlist(十, 30, 70, .. .); -- department numbers
BEGIN
...
FOR i IN depts.FIRST .. depts.LAST LOOP
...
UPDAT

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号