Re: Initplan placed at the righttree or the lefttree of joinnode

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: "Hou, Zhijie" <houzj(dot)fnst(at)cn(dot)fujitsu(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Initplan placed at the righttree or the lefttree of joinnode
Date: 2020-10-22 12:17:55
Message-ID: 6a746f1921e02f739996d157d8673569941caeb4.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, 2020-10-22 at 09:43 +0000, Hou, Zhijie wrote:
> Hi,
>
> I try to make some special query plan like the following.
> I have tried a lot SQL, but failed.
> Can Initplan placed at the righttree or the lefttree of joinnode?
>
> (Fake) QUERY PLAN
> -------------------------------------------------------------------
> Hash Join (cost=13.15..26.48 rows=140 width=8)
> Hash Cond: (test1.a = test.a)
> -> Seq Scan on test1 (cost=0.00..11.40 rows=140 width=4)
> -> Hash (cost=11.40..11.40 rows=140 width=8)
> -> InitPlan 1 (returns $0,$1)
> Or
>
> (Fake) QUERY PLAN
> -------------------------------------------------------------------
> Hash Join (cost=13.15..26.48 rows=140 width=8)
> Hash Cond: (test1.a = test.a)
> -> Seq Scan on test1 (cost=0.00..11.40 rows=140 width=4)
> -> InitPlan 1 (returns $0,$1)
> -> Hash (cost=11.40..11.40 rows=140 width=8)

Do you mean something like this (with the pgbench table):

EXPLAIN SELECT * FROM pgbench_accounts a JOIN pgbench_accounts b USING (aid) WHERE a.bid = (SELECT 42);
QUERY PLAN
----------------------------------------------------------------------------------------
Hash Join (cost=31707.01..93539.02 rows=100000 width=190)
Hash Cond: (b.aid = a.aid)
InitPlan 1 (returns $0)
-> Result (cost=0.00..0.01 rows=1 width=4)
-> Seq Scan on pgbench_accounts b (cost=0.00..26394.00 rows=1000000 width=97)
-> Hash (cost=28894.00..28894.00 rows=100000 width=97)
-> Seq Scan on pgbench_accounts a (cost=0.00..28894.00 rows=100000 width=97)
Filter: (bid = $0)
(8 rows)

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Devrim Gündüz 2020-10-22 12:45:21 Re: How to get debuginfo from building source code
Previous Message Hou, Zhijie 2020-10-22 09:43:27 Initplan placed at the righttree or the lefttree of joinnode