Re: what does "initplan" operation in explain output mean? - Mailing list pgsql-performance

From Mark Rostron
Subject Re: what does "initplan" operation in explain output mean?
Date
Msg-id FD020D3E50E7FA479567872E5F5F31E30459D62323@ex01.corp.ql2.com
Whole thread Raw
In response to Re: what does "initplan" operation in explain output mean?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: what does "initplan" operation in explain output mean?
List pgsql-performance
Thanks.
So am I right in assuming that the aggregate sub-query ( against work_active ) results will not assist with constraint
exclusionin the sub-query against work_unit (if we introduce range partitions on this table)? 
 Mr


-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Sunday, August 01, 2010 7:08 AM
To: Mark Rostron
Cc: pgsql-performance@postgresql.org
Subject: Re: [PERFORM] what does "initplan" operation in explain output mean?

Mark Rostron <mrostron@ql2.com> writes:
> This message is a request for information about the "initplan" operation in explain plan.

An initplan is a sub-SELECT that only needs to be executed once because it has no dependency on the immediately
surroundingquery level.  The cases you show here are from sub-SELECTs like this: 

    (select min(wu_id) from work_active limit 1)

which yields a value that's independent of anything in the outer query.
If there were an outer reference in there, you'd get a SubPlan instead, because the subquery would need to be done over
againfor each row of the outer query. 

BTW, adding LIMIT 1 to an aggregate query is pretty pointless.

            regards, tom lane

pgsql-performance by date:

Previous
From: Yeb Havinga
Date:
Subject: Re: Testing Sandforce SSD
Next
From: Tom Lane
Date:
Subject: Re: what does "initplan" operation in explain output mean?