Re: Effects of cascading references in foreign keys

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: "Thomas F(dot) O'Connell" <tfo(at)sitening(dot)com>
Cc: PgSQL Performance <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Effects of cascading references in foreign keys
Date: 2005-10-30 14:10:49
Message-ID: 200510301410.j9UEAnj02881@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Svenne Krap 2005-10-30 17:16:04 multi-layered view join performance oddities
Previous Message Thomas F. O'Connell 2005-10-30 04:32:21 Re: Effects of cascading references in foreign keys