faster INSERT with possible pre-existing row?

From: Dan Harris <fbsd(at)drivefaster(dot)net>
To: pgsql-performance(at)postgresql(dot)org
Subject: faster INSERT with possible pre-existing row?
Date: 2005-07-26 16:50:14
Message-ID: AB60A4E4-1DF1-459E-8866-007810D68419@drivefaster.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

I am working on a process that will be inserting tens of million rows
and need this to be as quick as possible.

The catch is that for each row I could potentially insert, I need to
look and see if the relationship is already there to prevent
multiple entries. Currently I am doing a SELECT before doing the
INSERT, but I recognize the speed penalty in doing to operations. I
wonder if there is some way I can say "insert this record, only if it
doesn't exist already". To see if it exists, I would need to compare
3 fields instead of just enforcing a primary key.

Even if this could be a small increase per record, even a few percent
faster compounded over the whole load could be a significant reduction.

Thanks for any ideas you might have.

-Dan

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Chris Browne 2005-07-26 16:51:14 Re: Cheap RAM disk?
Previous Message John A Meinel 2005-07-26 16:34:37 Cheap RAM disk?