Re: Trigger performance - Mailing list pgsql-performance

From pginfo
Subject Re: Trigger performance
Date
Msg-id 400FECD6.B835AF9C@t1.unisoftbg.com
Whole thread Raw
In response to Trigger performance  (pginfo <pginfo@t1.unisoftbg.com>)
Responses Re: Trigger performance  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Trigger performance  (Pavel Stehule <stehule@kix.fsv.cvut.cz>)
List pgsql-performance
Hi,

thanks for the answer.
It is very interest, because I readet many times that if I write the trigger
in "C" it will work faster.
In wich case will this trigger work faster if write it in "C"?
In all my triggres I have "select ...." or "insert into mytable select ..."
or "update mytable set ...where...".
I need this info because I have a table with ~1.5 M rows and if I start to
update 300 K from this rows it takes ~ 2h.
If I remove the trigger for this table all the time is ~ 1 min.

regards,
ivan.

Tom Lane wrote:

> pginfo <pginfo@t1.unisoftbg.com> writes:
> > I was supprised that the pgsql trigger take ~8 sec. to insert this rows
> > and the "C" trigger take ~ 17 sec.
>
> The reason is that plpgsql caches the plan for the invoked SELECT,
> whereas the way you coded the C function, it's re-planning that SELECT
> on every call.
>
>                         regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)




pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: Trigger performance
Next
From: Tom Lane
Date:
Subject: Re: Trigger performance