使用批号pl-sql

时间:2017-10-23 08:47:55

标签: oracle plsql

编辑1(添加代码段):

我正在拍摄统计数据,采取了一些统计数据,最有可能的是,无论平行提示如何,它都会花费相同的时间。

CREATE TABLE temp_i_sept nologging parallel 15 as
SELECT distinct  t1.a,t1.b,t1.c,t1.d,t1.e,t1.f,t1.g,
schema1.package1.func1(t1.e,t1.f,t1.g,t1.h,t1.i, t1.j 
,t1.k,t1.l,t1.m,t1.n*1000,t1.o, t1.p,t1.q,t1.r,t1.s ,t1.t)/1000 u, 
t1.v
FROM temp_i_sep17 t1
WHERE t1.w IS NULL;

我有这个陈述,

create table TWO nologging parallel 15 as
select a, b, c, pkg_xyz(l,m,n) d
from ONE;

如您所见,select查询中有一个包调用。 表ONE中有700万行。

执行大约需要3.5小时。它是通过sqlplus从shell脚本调用的。 我需要优化它。

我可以使用NTILE制作批次,然后尝试引发一些并行性。我可以通过调用pkg_xyz来计算值d并更新值。 假设我通过NTILE制作了10个批次,现在如何基于batch_num启动10个单独的更新语句来作用于同一个表?

0 个答案:

没有答案