oracle的存储过程调试,oracle 运行普通方式及调试debug方式存储过程性能区别

news/2024/9/18 4:36:44

调试某一存储过程时,在plsql developer debug调试执行时,20多分钟都执行不完,

后分析如下:

1,查询调试会话运行存储过程的对应sql

select sid,serial#,event,status,sql_id,prev_sql_id,action,module from v$session where suser='123' and sid not in(9,31,151)

2,查询上述sql的内容文本

select sql_text,sql_id from v$sqlarea where sql_id in('g0unxwd406yu0','du7nyv586fquh','4n6y6p4sm7j9r','08vznc16ycuag')

3,经查询一直伴随运行如下sql

SELECT SYS_GUID() FROM SYS.DUAL

declare   runtime_info sys.dbms_debug.runtime_info;

declare ret binary_integer; begin ret := PBSDE.DEBUG_LOOP; end;

INSERT /*+ append */ INTO DEAL_PAY_INFO_TMP ( PAY_ID, ORDER_ID, USER_ID, INVOICE_TYPE, INVOICE_TOP, INVOICE_TOP_NAME, INVOICE_PRICE , INVOICE_CONTENT , INVOICE_CODE , INVOICE_DATE , PAY_TYPE , PAY_BANK_CODE , SEND_TYPE , SEND_TYPE_TIME , IF_CALL , SEND_PROVINCE , SEND_CITY , SEND_COUNTY , SEND_ADDRESS , SEND_POSTCODE , SEND_CUSNAME , SEND_CUSMOBILE , SEND_CUSTELNUM , SEND_CUSEMAIL , CREATE_DATE , CREATE_OPID , DISABLE_DATE , DISABLE_OPID , REC_STATUS , REMARK ) SELECT F_GETNID(), PO.EXT_CUST_ORDER_ID, DU.CUST_ID_Y2, PI.INVOICE_TYPE, PI.INVOICE_TYPE, PI.INVOICE_ADDRESS, PI.INVOICE_PRICE, DECODE(PI.INVOICE_CONTENTS,NULL,1,'企业',2,'个人',1,'商品明细',1,'通信器材',4,'通讯器材',4,'天翼飞Young19元号卡',1), PO.INVOICE_CODE, PI.INVOICE_DATE, PO.REMARK3, PO.REMARK7, PO.REMARK15, (CASE WHEN PO.DELIVER_DATE LIKE '%双休日%' THEN '3' WHEN PO.DELIVER_DATE LIKE '%不限时间%' THEN '2' WHEN PO.DELIVER_DATE LIKE '%工作日%' OR PO.DELIVER_DATE LIKE '%周一至周五%' THEN

最后一条sql是存储过程正常运行的sql,而其它的sql皆是与debug模式相关的sql

然后:我在命令模式直接运行上述的存储过程

80s执行完

且没有出现上述debug模式的对应sql

小结:1,debug模式运行存储过程很慢,在命令模式运行即可


http://lihuaxi.xjx100.cn/news/242476.html

相关文章

在web.xml文件中配置Servlet时,主要配置哪些信息?

web前端的学习内容是比较多的,其中有一部分就是关于在web.xml文件中配置Servlet时的相关内容,在web.xml文件中配置Servlet时,主要配置哪些信息?来看看下面的详细介绍。 使用IDE开发Servlet时,配置信息可以通过可视化方式定义。然…

AngularJs表单自动验证

angular-auto-validate 地址&#xff1a;https://github.com/jonsamwell/angular-auto-validate 引用&#xff1a; <script src"/Assets/JS/AngularJS/angular-auto-validate/dist/jcs-auto-validate.js" charset"utf-8"></script> 依赖&#…

Python random库的使用

简介 -random库是使用随机数的Python标准库 -标准库即Python解释器自带的&#xff0c;无需安装 -随机数是在各种复杂条件下产生的确定值 -伪随机数是采用梅森旋转算法生成的(伪)随机序列中元素 -计算机不能产生真正的随机数&#xff0c;所以伪随机数被称为随机数 使用random库…

Oracle中的iot_type,oracle IOT表学习

IOT: Index-Organized Table索引组织表含义即将表结构整体放入索引中&#xff0c;且是按照主键进行排序的。创建&#xff1a;create table emp_iot(emp_no int,emp_name varchar2(100),dept_no int,salary number(10,2),constraint pk_empi primary key(emp_no, emp_name, dept…

MySQL案例-多源复制引起的内存泄漏

-------------------------------------------------------------------------------------------------正文---------------------------------------------------------------------------------------------------------------接前文: http://blog.itpub.net/29510932/views…

考PMP证书一定要参加PMP培训吗?

​ 考PMP证书一定要参加PMP培训吗?这是目前很多想要考pmp认证的小伙伴比较关心的一个问题&#xff0c;小编可以肯定的回答大家&#xff0c;当然需要参加&#xff0c;具体来看看下面的详细介绍。 考PMP证书一定要参加PMP培训吗?当然要&#xff0c;PMP考试要接受PMO授权许可培训…

4_SSRF

SSRF SSRF&#xff08;服务请求伪造&#xff09;是一种由攻击者构造形成由服务器端发起请求的一个安全漏洞&#xff0c;它将一个可以发起网络请求的服务当作跳板来攻击其他服务器&#xff0c;SSRF的攻击目标一般是内网。当服务器提供了从其他服务器获取数据的功能&#xff08;如…

Python 解决一行代码分成多行及多行代码放在一行

一行代码分成多行 使用 目的&#xff1a;当某一行代码较长&#xff0c;可以增强程序的可读性 for k in range(N):pi 1/pow(16,k)*(\4/(8*k1) - 2/(8*k4) - \1/(8*k5) - 1/(8*k6)) print("圆周率值是&#xff1a;{}".format(pi))多行代码放在一行 使用分号 目的:可…