存储过程如何并行【在线等】

xiaozanwain 2011-08-31 01:24:25
举例:
一个存储过程A,在A里面并行执行A1,A2,A3,如:
create or replace procedure A is
begin
A1;
A2;
A3;
A4;
...
end A;
现在这种写法只能串行的执行,效率低,有没有一个办法在执行A的时候 ,A1,A2,A3...都同时执行??

在网上看了 用job 可以做到, 具体怎么做?求大神解答。
...全文
270 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolkisses 2011-09-01
  • 打赏
  • 举报
回复
如果只是手工处理一下,那就调N个JOB吧。
yjytiantang 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 xiaozanwain 的回复:]
举例:
一个存储过程A,在A里面并行执行A1,A2,A3,如:
create or replace procedure A is
begin
A1;
A2;
A3;
A4;
...
end A;
现在这种写法只能串行的执行,效率低,有没有一个办法在执行A的时候 ,A1,A2,A3...都同时执行??

在网上看了 用job 可以做到, 具体怎么做?求大神……
[/Quote] 建立几个job,job1,job2,job3 ,分别执行过程 A,A1,A2,A3 也是可以的。
yangjunun 2011-08-31
  • 打赏
  • 举报
回复
关注下,,,
opps_zhou 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 xiaozanwain 的回复:]
举例:
一个存储过程A,在A里面并行执行A1,A2,A3,如:
create or replace procedure A is
begin
A1;
A2;
A3;
A4;
...
end A;
现在这种写法只能串行的执行,效率低,有没有一个办法在执行A的时候 ,A1,A2,A3...都同时执行??

在网上看了 用job 可以做到, 具体怎么做?求大神……
[/Quote]
要并行的话,只有把 A1,A2... 等分别作为独立任务来执行,在一个存储过程里,只能串行
zengjc 2011-08-31
  • 打赏
  • 举报
回复
1.编写JOB A,从A里查出数据后写入到临时表A中,并设置标识位a
2.编写job A1,A2,A3,高速轮询,监控到标识位a变化后就读取临时表A的内容并运行。
这样可以间接实现并行
xiaozanwain 2011-08-31
  • 打赏
  • 举报
回复
人工置顶
xiaozanwain 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 benchim888 的回复:]
alter session force parallel dml;
然后再执行你的A1
[/Quote]
不明白····

我在A里面查询出数据 作为参数 分别放入 A1,A2,A3,因为他们在A里面都是独立的,所以想把他们并行

xiaozanwain 2011-08-31
  • 打赏
  • 举报
回复
人工置顶···
BenChiM888 2011-08-31
  • 打赏
  • 举报
回复
alter session force parallel dml;
然后再执行你的A1
xiaozanwain 2011-08-31
  • 打赏
  • 举报
回复
人工置顶
xiaozanwain 2011-08-31
  • 打赏
  • 举报
回复
人工置顶···
xiaozanwain 2011-08-31
  • 打赏
  • 举报
回复
下午要出数据,目前这样跑 太慢了

3,492

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧