Re: assignment vs SELECT INTO

From: Tom Lane
Subject: Re: assignment vs SELECT INTO
Date: ,
Msg-id: 25915.1415046245@sss.pgh.pa.us
(view: Whole thread, Raw)
In response to: assignment vs SELECT INTO  (Andrew Dunstan)
Responses: Re: assignment vs SELECT INTO  (Andrew Dunstan)
List: pgsql-performance

Tree view

assignment vs SELECT INTO  (Andrew Dunstan, )
 Re: assignment vs SELECT INTO  (Tom Lane, )
  Re: assignment vs SELECT INTO  (Andrew Dunstan, )
 Re: assignment vs SELECT INTO  (Matheus de Oliveira, )

Andrew Dunstan <> writes:
>     andrew=# do $x$ declare r abc; begin for i in 1 .. 10000000 loop
>     select 'a','b',i into r.x,r.y,r.z; end loop; end; $x$;
>     DO
>     Time: 63731.434 ms
>     andrew=# do $x$ declare r abc; begin for i in 1 .. 10000000 loop r
>     := ('a','b',i); end loop; end; $x$;
>     DO
>     Time: 18744.151 ms

> Is it simply because the SELECT is in effect three assignments, so it
> takes nearly 3 times as long?

I think it's more likely that the second example is treated as a "simple
expression" so it has less overhead than a SELECT.

            regards, tom lane



pgsql-performance by date:

From: Andrew Dunstan
Date:
Subject: Re: assignment vs SELECT INTO
From: Stuart Bishop
Date:
Subject: Re: Replication Lag Causes