Thread: Executing more than one function.

Executing more than one function.

From
f vf
Date:
Hello,
I have a set of plsql functions that I want to execute. All these functions perform queries and insert data in the database and I need to execute them in order.
What I have noticed is that if I execute this script

BEGIN;
SELECT function1();
COMMIT;

BEGIN;
SELECT function2();
COMMIT;

BEGIN;
SELECT function3();
COMMIT;

it takes more time than if I execute one function at the time and sum the execution times of each one:

BEGIN;
SELECT functionX();
COMMIT;


In some cases if there are several millions of tuples in the database running all the rules in the same script takes 10 times more than running one at the time. 

Can anyone explain why this happens and how can I prevent it?

Thanks for the help. 

Filipe

Re: Executing more than one function.

From
Giuseppe Sacco
Date:
Il giorno mar, 23/08/2011 alle 16.30 +0100, f vf ha scritto:
[...]

> it takes more time than if I execute one function at the time and sum
> the execution times of each one:
>
>
> BEGIN;
> SELECT functionX();
> COMMIT;
>
You should probably accout a time for the COMMIT operation. In one case
you commit only once, while in other case you commit three times.

Bye,
Giuseppe