From: Craig A. James <cjames@modgraph-usa.com>
To: Jim C. Nasby <jnasby@pervasive.com>
Cc: PFC <lists@peufeu.com>
Cc: Michael Glaesemann <grzm@myrealbox.com>
Cc: Rodrigo Sakai <rodrigo.sakai@zanthus.com.br>
Cc: pgsql-performance@postgresql.org
Subject: Re: FOREIGN KEYS vs PERFORMANCE
Date: Wed, 12 Apr 2006 10:36:28 -0700
Message-ID: <443D3A9C.40106@modgraph-usa.com> (raw)
In-Reply-To: <20060412153951.GH49405@pervasive.com>
References: <001301c65d9c$08884ef0$4700a8c0@TREEZANTHUS>
<72C39159-1A4B-4595-A978-1DF57AD42527@myrealbox.com>
<op.s7vv4ex2cigqcu@apollo13>
<443D127D.2070601@modgraph-usa.com>
<20060412153951.GH49405@pervasive.com>
Jim C. Nasby wrote:
>>1. You have only one application that modifies the data. (Otherwise, you
>>have to duplicate the rules across many applications, leading to a
>>code-maintenance nightmare).
>
> You forgot something:
>
> 1a: You know that there will never, ever, ever, ever, be any other
> application that wants to talk to the database.
>
> I know tons of people that get burned because they go with something
> that's "good enough for now", and then regret that decision for years to
> come.
No, I don't agree with this. Too many people waste time designing for "what if..." scenarios that never happen. You don't want to be dumb and design something that locks out a foreseeable and likely future need, but referential integrity doesn't meet this criterion. There's nothing to keep you from changing from app-managed to database-managed referential integrity if your needs change.
Design for your current requirements.
Let us be of good cheer, remembering that the misfortunes hardest to bear are
those which never happen. - James Russell Lowell (1819-1891)
Therefore do not be anxious about tomorrow, for tomorrow will be anxious for
itself. Let the day's own trouble be sufficient for the day.
- Matthew 6:34
Craig
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: cjames@modgraph-usa.com, jnasby@pervasive.com, lists@peufeu.com, grzm@myrealbox.com, rodrigo.sakai@zanthus.com.br
Subject: Re: FOREIGN KEYS vs PERFORMANCE
In-Reply-To: <443D3A9C.40106@modgraph-usa.com>
* 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