User, September 26, 2015 - 7:51 am UTC
Thanks for this nice explanation. I have a doubt. If i run a query like Insert into my_table select * from emp in sqlplus then to best of my knowledge the sql will execute with a array size as set by arraysize=nnn environment variable. If this is true then what will be the array size the sql will execute if i write it within a procedure and call the procedure from sqlplus. I guess it would run with the array size as defined by arraysize=nnn.
Thanks and regards.
September 28, 2015 - 3:35 am UTC
"If i run a query like Insert into my_table select * from emp in sqlplus then to best of my knowledge the sql will execute with a array size as set by arraysize=nnn environment variable"
No that is not true. 'arraysize' is the database returning records to the *client*, in this case, sqlplus.
insert into T1 select * from T2;
never "leaves" the database, so arraysize is not relevant. It will be done by extracting rows from blocks, and will be efficient as possible.