Bulk Collect or Cursor for loop
RoopsMar 3 2011 — edited Mar 10 2011Hello,
I have developed an ETL package using pl/sql. This is to ETL from MySQL to Oracle 10g ( 10.2.0.4)
The package is deployed, but performance is not upto the mark. Here are my questions.
I am using a UNION ALL query to create a CURSOR FOR LOOP, so each iteration of cursor will process the record fetched from MySQL. I am using dynamic sql inside loop. I am able to process only 50,000 records in 5 min. But my target is 100,000 records in 5 min or 1 million in one hour, becuase the system is highly transactional, so each changes in MySQL should reflect in Oracle within 15min.
1) If I use Bulk Collect instead of curosr, will that going to boost performance ?. Except this most of the tuning considerations are done for this system.
2) Commit each records inside the loop is good or commit outside the loop is better ?
Systm Configuration:
SGA: 20Gig
CPU: 2.2ghz * 8
Appreciate your suggestions.
Thanks
Rupesh
www.orachat.com