Re: How to force subquery scan? - Mailing list pgsql-sql

From Tambet Matiisen
Subject Re: How to force subquery scan?
Date
Msg-id A66A11DBF5525341AEF6B8DE39CDE77008805A@black.aprote.com
Whole thread Raw
In response to How to force subquery scan?  ("Tambet Matiisen" <t.matiisen@aprote.ee>)
List pgsql-sql

> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> Sent: Wednesday, March 16, 2005 5:42 PM
> To: Tambet Matiisen
> Cc: ch@rodos.fzk.de; pgsql-sql@postgresql.org
> Subject: Re: [SQL] How to force subquery scan?
>
>
> "Tambet Matiisen" <t.matiisen@aprote.ee> writes:
> > It seems that subquery scan is only used, when the query can not be
> > translated into single flat query. Which is mostly good, I assume.
>
> The planner thinks so anyway ;-)
>
> If you're desperate you can put in an optimization fence, for
> instance LIMIT or OFFSET.
>
>     SELECT * FROM (SELECT ... OFFSET 0) ss;
>
> In principle the planner could figure out that this offset is
> a no-op, throw it away, and then flatten the query.  But it
> doesn't at the moment, and I doubt we'll teach it to do so in
> the future.
>
>             regards, tom lane
>

Thanks, that did the trick. It was a bit more strict than expected,
because WHERE of the outer query is not optimized into subquery. But
considering the semantics of OFFSET that seems reasonable and I can work
around it for now.
 Tambet


pgsql-sql by date:

Previous
From: Phil Daintree
Date:
Subject: Query performance problem
Next
From: "Chandan_Kumaraiah"
Date:
Subject: query