Skip site navigation (1) Skip section navigation (2)

Re: faster INSERT with possible pre-existing row?

From: Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>
To: Dan Harris <fbsd(at)drivefaster(dot)net>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: faster INSERT with possible pre-existing row?
Date: 2005-07-27 01:55:47
Message-ID: 42E6E9A3.4000400@familyhealth.com.au (view raw or flat)
Thread:
Lists: pgsql-performance
Insert into a temp table then use INSERT INTO...SELECT FROM to insert 
all rows into the proper table that don't have a relationship.

Chris

Dan Harris wrote:
> 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
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend


In response to

pgsql-performance by date

Next:From: Christopher Kings-LynneDate: 2005-07-27 02:02:21
Subject: Re: [IMPORTANT] - My application performance
Previous:From: Mark LewisDate: 2005-07-26 22:29:23
Subject: Re: faster INSERT with possible pre-existing row?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group