X-Original-To: pgsql-performance-postgresql.org@localhost.postgresql.org Received: from localhost (mx2.hub.org [200.46.204.254]) by postgresql.org (Postfix) with ESMTP id 250D911F6089 for ; Tue, 18 Apr 2006 14:19:16 -0300 (ADT) X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Score: -2.499 X-Spam-Level: X-Spam-Status: No, score=-2.499 required=5 tests=[AWL=0.100, BAYES_00=-2.599] Received: from postgresql.org ([200.46.204.71]) by localhost (mx2.hub.org [200.46.204.254]) (amavisd-new, port 10024) with ESMTP id MFCMz84m7zGF for ; Tue, 18 Apr 2006 14:19:02 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey- Received: from mail.zanthus.com.br (mail.zanthus.com.br [200.212.65.85]) by postgresql.org (Postfix) with ESMTP id 5F05311F674C for ; Tue, 18 Apr 2006 14:19:00 -0300 (ADT) Received: from cprsakai ([192.168.0.71]) by mail.zanthus.com.br (8.13.4/8.13.4/Debian-3) with SMTP id k3IHKVUc019083 for ; Tue, 18 Apr 2006 14:20:31 -0300 Message-ID: <002601c6630c$403c9f70$4700a8c0@TREEZANTHUS> Reply-To: "Rodrigo Sakai" From: "Rodrigo Sakai" To: References: <001301c65d9c$08884ef0$4700a8c0@TREEZANTHUS> <72C39159-1A4B-4595-A978-1DF57AD42527@myrealbox.com> <443D127D.2070601@modgraph-usa.com> <20060412153951.GH49405@pervasive.com> <443D3A9C.40106@modgraph-usa.com> <20060412205914.GL49405@pervasive.com> Subject: Re: FOREIGN KEYS vs PERFORMANCE Date: Tue, 18 Apr 2006 14:19:29 -0300 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1506 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506 X-Zanthus-MailScanner: Found to be clean X-Zanthus-MailScanner-From: rodrigo.sakai@zanthus.com.br X-Archive-Number: 200604/389 X-Sequence-Number: 18473 Thanks for all responses! I agree with most of you, and say that the RI is best maintened by Database ! Performance must be improved in other ways (indexes, hardware, etc)! ----- Original Message ----- From: "Jim C. Nasby" To: "Craig A. James" Cc: "PFC" ; "Michael Glaesemann" ; "Rodrigo Sakai" ; Sent: Wednesday, April 12, 2006 5:59 PM Subject: Re: [PERFORM] FOREIGN KEYS vs PERFORMANCE > On Wed, Apr 12, 2006 at 10:36:28AM -0700, Craig A. James wrote: > > 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. > > In this case your argument makes no sense, because you will spend far > more time re-creating RI capability inside an application than if you > just use what the database offers natively. > > It's certainly true that you don't want to over-engineer for no reason, > but many times choices are made to save a very small amount of time or > hassle up-front, and those choices become extremely painful later. > -- > Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com > Pervasive Software http://pervasive.com work: 512-231-6117 > vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461 > > ---------------------------(end of broadcast)--------------------------- > TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly >