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

Re: insert vs select into performance

From: Michael Glaesemann <grzm(at)seespotcode(dot)net>
To: Thomas Finneid <tfinneid(at)student(dot)matnat(dot)uio(dot)no>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: insert vs select into performance
Date: 2007-07-17 19:54:55
Message-ID: 0D6011B2-D09F-45E8-A5D7-5F84ADD1DC2B@seespotcode.net (view raw or flat)
Thread:
Lists: pgsql-performance
On Jul 17, 2007, at 14:38 , Thomas Finneid wrote:

> I was doing some testing on "insert" compared to "select into". I  
> inserted 100 000 rows (with 8 column values) into a table, which  
> took 14 seconds, compared to a select into, which took 0.8 seconds.
> (fyi, the inserts where batched, autocommit was turned off and it  
> all happend on the local machine)
>
> Now I am wondering why the select into is that much faster?

It would be helpful if you included the actual queries you're using,  
as there are a number of variables:

1) If there are any constraints on the original table, the INSERT  
will be checking those constraints. AIUI, SELECT INTO does not  
generate any table constraints.

2a) Are you using INSERT INTO foo (foo1, foo2, foo2) SELECT foo1,  
foo2, foo3 FROM pre_foo or individual inserts for each row? The  
former would be faster than the latter.

2b) If you are doing individual inserts, are you wrapping them in a  
transaction? The latter would be faster.

Michael Glaesemann
grzm seespotcode net



In response to

Responses

pgsql-performance by date

Next:From: Tom LaneDate: 2007-07-17 20:31:20
Subject: Re: insert vs select into performance
Previous:From: Arjen van der MeijdenDate: 2007-07-17 19:53:51
Subject: Re: insert vs select into performance

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