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

From Dan Black
Subject Re: Foreign keys and slow insert
Date
Msg-id 27f606250506081139524c002b@mail.gmail.com
Whole thread Raw
In response to Re: Foreign keys and slow insert  (Scott Marlowe <smarlowe@g2switchworks.com>)
List pgsql-general
I think 21 interns will be enough :)

2005/6/8, Scott Marlowe <smarlowe@g2switchworks.com>:
On Wed, 2005-06-08 at 12:39, Dan Black wrote:
> I've observed that inserts into slave table became slower when I use
> foreign key than without one.
> Can it be related to foreign key?
> And I am interested how much  performance of database with foreign
> keys can be different from performance of database without foreign
> keys? In other words, how much performance decrease on using foreign
> keys?

The problem you're seeing is usually caused by adding records to a table
set that starts out empty, and the planner uses seq scans, and as it
grows, should switch to random seeks, but doesn't know to, because no
one has bothered to analyze said tables.

Set up the pg_autovacuum daemon or cron vacuumdb -az to run every so
often to help that.

On the other hand, foreign keys are never zero cost, so even the most
efficient implementation is gonna be slower than not using them.  Data
coherency costs, either up front (i.e. in the database doing it) or in
the back (i.e. hiring 20 summer interns to go through your data and find
the parts that are bad...)  :)



--
Verba volent, scripta manent
My ISP  - http://www.netbynet.ru

pgsql-general by date:

Previous
From: "Rodrigo Katsumoto Sakai"
Date:
Subject: WinXP installation
Next
From: Alvaro Herrera
Date:
Subject: Re: So maybe SQLERRM? Sb knows how to check it?