the lack of it really limits perl's utility for any serious data loading 
operations that require performance.  if you look at the extended sql trace of 
a:
 
parse
loop
execute(x)
end loop;
 
you will see that it using single row executes. Unfortunately there is no magic 
going on behind the scenes for batching(JDBC) or adding Iterations (OCCI), that 
make working with arrays possible.  I am sure it isn't real easy to do, 
otherwise Tim would have done it long ago.
 
OCCI makes passing arrays to pl/sql slightly clumsy also, since you have to use 
the C data types.
 
I would hope that first the DBD::Oracle development folks (ie. Tim), would add 
the "addIteration" for simple behind the scenes array inserts for insert 
statements and than potentially later support the idea of passing arrays to 
PL/SQL as well.
 
the performance differences are huge.  As an example, I saw 60 seconds of 
database cpu time from inserting 10k rows (row by row or slow by slow) in C++ 
go to 2 seconds with an array insert instead.
 
Job
 
 
  
OCCI/OCI/JDBC all support this idea through   
 
it's too bad since Perl is so handy all around, if only... 
 
Job

Steve Sapovits <[EMAIL PROTECTED]> wrote:
Scott T. Hildreth wrote:

> I'm sure it will be someday, I know that execute_array is in DBI.
> I believe DBD::Pg uses array inserts. As far as I know, DBD::Oracle does
> not use the Array Processing yet.

Maybe Mr. Bunce can comment on when someday is? ;-)

-- 
Steve Sapovits [EMAIL PROTECTED]

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to