Re: Effects of cascading references in foreign keys - Mailing list pgsql-performance

From Bruce Momjian
Subject Re: Effects of cascading references in foreign keys
Date
Msg-id 200510301410.j9UEAnj02881@candle.pha.pa.us
Whole thread Raw
In response to Re: Effects of cascading references in foreign keys  ("Thomas F. O'Connell" <tfo@sitening.com>)
Responses Re: Effects of cascading references in foreign keys  (Martin Lesser <ml-pgsql@bettercom.de>)
List pgsql-performance
Thomas F. O'Connell wrote:
> > In 8.1 there is a check to see if the foreign key value has changed
> > and if
> > not a trigger isn't queued. In the currently released versions any
> > update
> > will fire triggers.
> > The check in comment for trigger.c didn't say if this optimization
> > applied
> > to both referencing and referenced keys or just one of those.
> > If you need to know more you can look at the code at:
> > http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/
> > for trigger.c.
>
> It seems like this warrants an item somewhere in the release notes,
> and I'm not currently seeing it (or a related item) anywhere. Perhaps
> E.1.3.1 (Performance Improvements)? For some of the more extreme
> UPDATE scenarios I've seen, this could be a big win.

Hard to say, perhaps:

    Prevent referential integrity triggers from firing if referenced
    columns are not changed by an UPDATE

    Previously, triggers would fire but do nothing.

However, the description seems more complex than it is worth.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-performance by date:

Previous
From: "Thomas F. O'Connell"
Date:
Subject: Re: Effects of cascading references in foreign keys
Next
From: Svenne Krap
Date:
Subject: multi-layered view join performance oddities