pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Marc G. Fournier <scrappy@postgresql.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-sql@postgresql.org
Subject: Re: How do FKs work?
Date: Sat, 9 Oct 2004 21:43:50 -0300 (ADT)
Message-ID: <20041009214318.V54093@ganymede.hub.org> (raw)
In-Reply-To: <6093.1097367833@sss.pgh.pa.us>
References: <20041009145332.D54093@ganymede.hub.org>
	<6093.1097367833@sss.pgh.pa.us>

On Sat, 9 Oct 2004, Tom Lane wrote:

> "Marc G. Fournier" <scrappy@hub.org> writes:
>> Have a table with two FKs on it ... 2 different fields in the table point
>> to the same field in another table ...
>
>> When I do an 'EXPLAIN ANALYZE DELETE FROM table WHERE field = #;', it
>> never comes back ... or, at lesat, takes a *very* long time ...
>
> Do you have indexes on the referencing columns?  Are they exactly the
> same datatype as the referenced column?  You can get really awful plans
> for the FK-checking queries if not.

Yup, that was my first thought ... running SELECT's joining the two tables 
on the FK fields shows indices being used, and fast times ...

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664



view thread (7+ messages)  latest in thread

Message-ID: <20041009214318.V54093@ganymede.hub.org>
Permalink:  ../20041009214318.V54093@ganymede.hub.org/
Also on:    postgresql.org/message-id/20041009214318.V54093@ganymede.hub.org

 · 

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-sql@postgresql.org
  Cc: scrappy@postgresql.org, tgl@sss.pgh.pa.us
  Subject: Re: How do FKs work?
  In-Reply-To: <20041009214318.V54093@ganymede.hub.org>

* 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