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

insert vs select into performance

From: Thomas Finneid <tfinneid(at)student(dot)matnat(dot)uio(dot)no>
To: pgsql-performance(at)postgresql(dot)org
Subject: insert vs select into performance
Date: 2007-07-17 19:38:59
Message-ID: 469D1AD3.9030004@ifi.uio.no (view raw or flat)
Thread:
Lists: pgsql-performance
Hi

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?
Does the select into translate into a specially optimised function in c 
that can cut corners which a insert can not do (e.g. lazy copying), or 
is it some other reason?

The reason I am asking is that select into shows that a number of rows 
can be inserted into a table quite a lot faster than one would think was 
possible with ordinary sql. If that is the case, it means that if I 
write an pl-pgsql insert function in C instead of sql, then I can have 
my db perform order of magnitude faster.

Any comments?

regards

thomas

Responses

pgsql-performance by date

Next:From: Arjen van der MeijdenDate: 2007-07-17 19:53:51
Subject: Re: insert vs select into performance
Previous:From: Fei LiuDate: 2007-07-17 18:51:05
Subject: large number of connected connections to postgres database (v8.0)

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