Could you provide an example?

Fo me:
Drop/Creat/populating tables inside a function are slow.
Creating tables outside a function and populating he table inside a
function is fast..


2012/11/24 Craig Ringer <cr...@2ndquadrant.com>

> On 11/24/2012 02:15 AM, Peter Kroon wrote:
> > I found out that declaring tables outside of functions increases the
> > execution time of the function.
> Strictly, what's probably happening is that creating a table in the same
> transaction as populating it is a lot faster than creating it,
> committing, and populating it in a new transaction. In the 1st case WAL
> logging for the heap can be avoided if you aren't using replication or
> PITR (ie wal_level is minimal).
>
> Functions are automatically wrapped in a transaction if you don't open
> one explicitly so doing a CREATE TABLE inside a function will be
> quicker. The same result should be achieved by beginning a transaction,
> creating the table, then calling the function.
>
> --
>  Craig Ringer                   http://www.2ndQuadrant.com/
>  PostgreSQL Development, 24x7 Support, Training & Services
>
>

Reply via email to