pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Joseph S <jks@selectacast.net>
Cc: pgsql-performance@postgresql.org
Subject: Re: Horrible trigger performance after upgrade 8.0.12 -> 8.2.3
Date: Tue, 20 Mar 2007 15:58:25 -0400
Message-ID: <16985.1174420705@sss.pgh.pa.us> (raw)
In-Reply-To: <etpch9$bue$1@news.hub.org>
References: <etpch9$bue$1@news.hub.org>

Joseph S <jks@selectacast.net> writes:
> After upgrading to 8.2.3 INSERTs and UPDATEs on one of my tables became 
> incredibly slow.  I traced the problem to one of my triggers that calls 
> one of my defined functions (that is IMMUTABLE).  If I inline the 
> function instead of calling it the runtime for my test update drops from 
>   10261.234 ms to 564.094 ms.  The time running the trigger itself 
> dropped from 9749.910 to 99.504.

With no more details than that, I don't see how you expect any useful
comments.  Let's see the code.  Also, what PG version are you comparing to?

> BTW does make any sense to bother marking trigger functions as STABLE or 
> IMMUTABLE?

No, the trigger mechanisms don't pay any attention to that.  I can
hardly conceive of a useful trigger that wouldn't be VOLATILE anyway,
since side effects are more or less the point.

			regards, tom lane



view thread (2+ messages)

Message-ID: <16985.1174420705@sss.pgh.pa.us>
Permalink:  ../16985.1174420705@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/16985.1174420705@sss.pgh.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: tgl@sss.pgh.pa.us, jks@selectacast.net
  Subject: Re: Horrible trigger performance after upgrade 8.0.12 -> 8.2.3
  In-Reply-To: <16985.1174420705@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox