Andrew Dunstan <andrew@xxxxxxxxxxxx> 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 -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance