=?UTF-8?Q?Grzegorz_Ja=C5=9Bkiewicz?= <gryzman@gmail.com> writes:
> On Thu, Feb 12, 2009 at 1:10 PM, Rory Campbell-Lange
> <rory@campbell-lange.net> wrote:
>> UPDATE
>> users
>> SET t_firstname =
>> (select firstname from testnames order by random() limit 1),
>> t_surname =
>> (select lastname from testnames order by random() limit 1)
>> WHERE
>> n_role IN (2,3);
>>
>> Doesn't return either after 60 seconds on a 8 core machine with 8GB of
>> RAM and 15K disks in R10 (no swap in use).
> That would be because, for every row in users table, postgres has to
> run two subselects, with order by random() (which in it self is quite
> expensive).
Well, no, because those subselects are independent of the parent query;
I'd expect PG to do them just once. Do they show up as "SubPlans" or
"InitPlans" in EXPLAIN?
regards, tom lane