I have two Oracle 9i 64 bit servers, dev and prod. Calling a procedure from a c# app with parameter array binding, prod executes the procedure simultaneously for each value in the parameter array, but dev executes for each value serially.
So, if the sproc does:
select count(*) into cnt from mytable where id = 123; if cnt = 0 then insert into mytable (id) values (123); end if;
Assuming the table initially does not have an id = 123 row. Dev gets cnt = 0 for the first array parameter value, then 1 for each of the subsequent. Prod gets cnt = 0 for all array parameter values and inserts id 123 for each.
Is this a configuration difference, an illusion due to speed difference, something else?