Re: assignment vs SELECT INTO
От | Andrew Dunstan |
---|---|
Тема | Re: assignment vs SELECT INTO |
Дата | |
Msg-id | 5457E614.1030902@dunslane.net обсуждение исходный текст |
Ответ на | Re: assignment vs SELECT INTO (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-performance |
On 11/03/2014 03:24 PM, Tom Lane wrote: > Andrew Dunstan <andrew@dunslane.net> 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. > > Well, I accidetally left out this case: andrew=# do $x$ declare r abc; begin for i in 1 .. 10000000 loop select row('a','b',i) into r; end loop; end; $x$; DO Time: 81919.721 ms which is slower still. cheers andrew
В списке pgsql-performance по дате отправления: