Quote Originally Posted by vnktummala View Post
The update statement I am referring in my previous post is just completed. Please see the tkprof output below and kindly share your taughts'.

Code:
call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        0      0.00       0.00          0          0          0           0
Execute 296271   3900.76   17125.86     311558     912750    2129808      296271
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total   296271   3900.76   17125.86     311558     912750    2129808      296271

Misses in library cache during parse: 0
Optimizer mode: CHOOSE
Parsing user id: 83  

Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  db file sequential read                    311558        1.39       3223.30
  SQL*Net message to client                  296271        0.00          0.41
  SQL*Net message from client                296271        1.18         50.56
  log file switch completion                      4        0.23          0.36
  latch: checkpoint queue latch                   1        0.00          0.00
  log file sync                                   1        0.00          0.00
  latch: object queue header operation            1        0.00          0.00
********************************************************************************
As far as I can see wait events on db_file_sequential_read account for about 20% of the total elapsed time therefore even if you manage to get rid of 100% of this particular wait event - which is not possible - you are looking at a performance gain of about 20%

What are the chances of rewritting this Informatica mapping as a PL/SQL block? - just for testing purposes

I would write the code without using explicit cursors a.k.a. set-based and, I'll eventually use APPEND hint during insert. On the first try I'll commit only once at the end of the job.