目前使用job来实现存储过程异步调用,比较创建job的效率1. 执行1万次提交job运行.执行时间34s功能描述:通过创建job来异步调用存储过程FOR i IN 1 .. 10000 LOOP
DBMS_JOB.SUBMIT(V_JOB, v_run_sql, sysdate + 11, NULL, TRUE); END LOOP;10046事件跟踪结果如下:call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 10551 0.29 0.26 0 0 0 0
Execute 90544 8.35 8.82 0 101420 114043 30500
Fetch 40082 25.12 24.70 0 40164 500 40041
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 141177 33.78 33.79 0 141584 114543 705412.执行运行1万次存储过程,执行时间3s FOR i IN 1 .. 10000 LOOP
log_output(io_msg);
END LOOP;10046事件跟踪结果如下:call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 93 0.10 0.07 0 0 0 0
Execute 30238 1.51 1.61 11 535 41628 10042
Fetch 10385 0.43 0.73 25 840 10 10479
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 40716 2.06 2.42 36 1375 41638 20521请高手指导,dbms_job.submit还能提升缩短执行时间吗?谢谢~
DBMS_JOB.SUBMIT(V_JOB, v_run_sql, sysdate + 11, NULL, TRUE); END LOOP;10046事件跟踪结果如下:call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 10551 0.29 0.26 0 0 0 0
Execute 90544 8.35 8.82 0 101420 114043 30500
Fetch 40082 25.12 24.70 0 40164 500 40041
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 141177 33.78 33.79 0 141584 114543 705412.执行运行1万次存储过程,执行时间3s FOR i IN 1 .. 10000 LOOP
log_output(io_msg);
END LOOP;10046事件跟踪结果如下:call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 93 0.10 0.07 0 0 0 0
Execute 30238 1.51 1.61 11 535 41628 10042
Fetch 10385 0.43 0.73 25 840 10 10479
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 40716 2.06 2.42 36 1375 41638 20521请高手指导,dbms_job.submit还能提升缩短执行时间吗?谢谢~
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货