Re: Foreign keys and slow insert - Mailing list pgsql-general

From Stephan Szabo
Subject Re: Foreign keys and slow insert
Date
Msg-id 20050608091443.H72777@megazone.bigpanda.com
Whole thread Raw
In response to Foreign keys and slow insert  (Dan Black <fireworker@gmail.com>)
List pgsql-general
On Wed, 8 Jun 2005, Dan Black wrote:

> I read in documentation that primary key doesn't require additional indexes
> but I could find nothing about foreign keys.
> Do I need to create additional indexes when I create foreign keys?
> Example:
> create table master
> {
> master_id INT4,
> master_name VARCHAR(64),
> CONSTRAINT master_pkey PRIMARY KEY (master_id)
> }
> create table slave
> {
> slave_id INT4,
> slave_name VARCHAR(64),
> master_id INT4,
> CONSTRAINT slave_pkey PRIMARY KEY (slave_id),
> CONSTRAINT slave_fkey_master_id FOREIGN KEY (master_id) REFERENCES master
> (master_id) ON UPDATE CASCADE ON DELETE RESTRICT
> }
>
> Do I need to create index
>
> CREATE INDEX my_index
> ON slave
> USING btree
> (master_id);
>
> ?

Generally you want to do so to speed up lookups when master changes.
However, if master is basically write once, almost never update or delete,
then you may not need one.


pgsql-general by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Bug with view definition?
Next
From: Richard Huxton
Date:
Subject: Re: Foreign keys and slow insert