there are more than 1crore rows in temp_final_consolidation table. here is the insert code. it getting more than 5 days to insert the record into tem_age_consolidate table. anyone please help to rectify the issue. here is my code. table structure is already created using the same query. while inserting its getting longer.
for below distinct row are 12
ls_sql := 'select distinct(sub_fund_code) from temp_final_consolidated';
OPEN ref_cur_c1 FOR ls_sql;
LOOP
FETCH Ref_cur_c1
INTO ls_sub_fund;
EXIT WHEN ref_cur_c1%NOTFOUND;
ls\_sql := Q'# INSERT INTO TEMP\_AGE\_CONSOLIDATED
with temp\_fc as (select \* from temp\_final\_consolidated where sub\_fund\_code=:sub\_fund\_code)
SELECT f.\*,
f.new\_to\_age new\_to\_age1
FROM (SELECT e.\*,
row\_number() over(PARTITION BY product\_code, brokerage\_type, report\_description, date\_flag\_for\_rate\_selection, folio\_no || purch\_id || cons\_code || brok\_dlr\_code || brok\_dlr\_catg, asset\_class || sub\_fund\_code || scheme\_code, source\_asset\_class || source\_sub\_fund\_code || source\_scheme\_code, sys\_regn\_to\_date, sys\_regn\_from\_date, trade\_date\_to, trade\_date\_from, ter\_location, transaction\_head, sub\_type, from\_amount, to\_amount, brokerage\_rate , new\_from\_age, new\_to\_age||adj\_advance\_upfront ORDER BY product\_code, brokerage\_type, report\_description, new\_from\_age, new\_to\_age) rank1
FROM (
SELECT MIN(d.from\_age) over(PARTITION BY product\_code, brokerage\_type, report\_description, date\_flag\_for\_rate\_selection, folio\_no || purch\_id || cons\_code || brok\_dlr\_code || brok\_dlr\_catg, asset\_class || sub\_fund\_code || scheme\_code, source\_asset\_class || source\_sub\_fund\_code || source\_scheme\_code, sys\_regn\_to\_date, sys\_regn\_from\_date, trade\_date\_to, trade\_date\_from, ter\_location, transaction\_head, sub\_type, from\_amount, to\_amount, brokerage\_rate, new\_to\_age||adj\_advance\_upfront ORDER BY product\_code, brokerage\_type, report\_description, new\_to\_age) new\_from\_age,
d.\*
FROM (SELECT MAX(to\_age) over(PARTITION BY product\_code, brokerage\_type, report\_description, date\_flag\_for\_rate\_selection, folio\_no || purch\_id || cons\_code || brok\_dlr\_code || brok\_dlr\_catg, asset\_class || sub\_fund\_code || scheme\_code, source\_asset\_class || source\_sub\_fund\_code || source\_scheme\_code, sys\_regn\_to\_date, sys\_regn\_from\_date, trade\_date\_to, c.trade\_date\_from, ter\_location, transaction\_head, sub\_type, from\_amount, to\_amount, brokerage\_rate, c.root\_from\_age||adj\_advance\_upfront ORDER BY root\_from\_age) new\_to\_age,
c.\*
FROM (SELECT c.\*,
connect\_by\_root from\_age AS root\_from\_age
FROM temp\_fc c
CONNECT BY PRIOR to\_age + 1 = from\_age AND
PRIOR
nvl(brokerage\_rate, 0) = nvl(brokerage\_rate, 0) AND
PRIOR nvl(brokerage\_type, '$$') =
nvl(brokerage\_type, '$$') AND
PRIOR
nvl(product\_code, '$$') = nvl(product\_code, '$$') AND
PRIOR nvl(report\_description, '$$') =
nvl(report\_description, '$$') AND
PRIOR nvl(folio\_no, '$$') = nvl(folio\_no, '$$') AND
PRIOR nvl(purch\_id, 0) = nvl(purch\_id, 0) AND
PRIOR nvl(cons\_code, '$$') = nvl(cons\_code, '$$') AND
PRIOR
nvl(brok\_dlr\_code, '$$') = nvl(brok\_dlr\_code, '$$') AND
PRIOR
nvl(brok\_dlr\_catg, '$$') = nvl(brok\_dlr\_catg, '$$') AND
PRIOR
nvl(asset\_class, '$$') = nvl(asset\_class, '$$') AND
PRIOR
nvl(sub\_fund\_code, '$$') = nvl(sub\_fund\_code, '$$') AND
PRIOR
nvl(scheme\_code, '$$') = nvl(scheme\_code, '$$') AND
PRIOR nvl(source\_asset\_class, '$$') =
nvl(source\_asset\_class, '$$') AND
PRIOR nvl(source\_sub\_fund\_code, '$$') =
nvl(source\_sub\_fund\_code, '$$') AND
PRIOR nvl(source\_scheme\_code, '$$') =
nvl(source\_scheme\_code, '$$') AND
PRIOR nvl(load\_basis, '$$') = nvl(load\_basis, '$$') AND
PRIOR nvl(fee\_aging, '$$') = nvl(fee\_aging, '$$') AND
PRIOR nvl(transaction\_head, '$$') =
nvl(transaction\_head, '$$') AND
PRIOR nvl(sub\_type, '$$') = nvl(sub\_type, '$$') AND
PRIOR nvl(date\_flag\_for\_rate\_selection, '$$') =
nvl(date\_flag\_for\_rate\_selection, '$$') AND
PRIOR nvl(sys\_regn\_from\_date, '31-Dec-2999') =
nvl(sys\_regn\_from\_date, '31-Dec-2999') AND
PRIOR nvl(sys\_regn\_to\_date, '31-Dec-2999') =
nvl(sys\_regn\_to\_date, '31-Dec-2999') AND
PRIOR nvl(trade\_date\_from, '31-Dec-2999') =
nvl(trade\_date\_from, '31-Dec-2999') AND
PRIOR nvl(trade\_date\_to, '31-Dec-2999') =
nvl(trade\_date\_to, '31-Dec-2999') AND
PRIOR
nvl(ter\_location, '$$') = nvl(ter\_location, '$$') AND
PRIOR nvl(from\_amount, 0) = nvl(from\_amount, 0) AND
PRIOR nvl(to\_amount, 0) = nvl(to\_amount, 0) AND
PRIOR nvl(tf\_valuation\_basis, '$$') =
nvl(tf\_valuation\_basis, '$$')
ORDER BY brokerage\_rate,
folio\_no,
purch\_id,
cons\_code,
brok\_dlr\_code,
brok\_dlr\_catg,
asset\_class,
sub\_fund\_code,
scheme\_code,
source\_asset\_class,
source\_sub\_fund\_code,
source\_scheme\_code,
load\_basis,
fee\_aging,
transaction\_head,
sub\_type,
date\_flag\_for\_rate\_selection,
sys\_regn\_from\_date,
sys\_regn\_to\_date,
trade\_date\_from,
trade\_date\_to,
ter\_location,
from\_amount,
tf\_valuation\_basis) c) d) e) f
WHERE rank1 = 1 #';
execute immediate ls\_sql
using ls\_sub\_fund;
commit;
END LOOP;
CLOSE ref\_cur\_c1;