Re: Performance Concern

Manfred Koizar <mkoi-pg@aon.at>

From: Manfred Koizar <mkoi-pg@aon.at>
To: Hannu Krosing <hannu@tm.ee>
Cc: thebfh@toolsmythe.com, john@pagakis.com, pgsql-performance@postgresql.org
Date: 2003-10-27T10:08:49Z
Lists: pgsql-performance
On Sun, 26 Oct 2003 00:13:36 +0300, Hannu Krosing <hannu@tm.ee> wrote:
>UPDATE baz
>   SET customer_id = '1234'
> WHERE baz_key IN (
>    SELECT baz_key
>      FROM baz innerbaz
>     WHERE customer_id IS NULL
>       and innerbaz.baz_key = baz.baz_key
>     LIMIT 1000 );

AFAICS this is not what the OP intended.  It is equivalent to 

	UPDATE baz
	   SET customer_id = '1234'
	 WHERE customer_id IS NULL;

because the subselect is now correlated to the outer query and is
evaluated for each row of the outer query which makes the LIMIT clause
ineffective.

Servus
 Manfred