From: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: WIP: Upper planner pathification |
Date: | 2016-03-01 12:11:50 |
Message-ID: | 56D58706.3010203@sigaev.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> The basic point of this patch is to apply the generate-and-compare-Paths
> paradigm to the planning steps after query_planner(), which only covers
...
> The present patch addresses this problem by inventing Path nodes to
> represent every post-scan/join step
I'm really glad to see that. Separating path nodes for later steps opens a new
ways to optimize queries. For first glance, consider
select * from a left outer join b on a.i = b.i limit 1;
Limit node could be pushed down to scan over 'a' table if b.i is unique.
I tried to look into patch and I had a question (one for now): why LimitPath
doesn't contain actual limit/offset value? I saw a lot of subqueries with LIMIT
1 which could be transformed into EXISTS subquery.
> So I'd really like to get this into 9.6.
Me too. I applied the patch and can confirm that 'make test' doesn't fail on
FreeBSD 10.2. Now I will try to run kind of TPC-H with and without patch.
--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2016-03-01 12:45:59 | Re: Re: In-core regression tests for replication, cascading, archiving, PITR, etc. |
Previous Message | Julien Rouhaud | 2016-03-01 11:44:30 | Re: Publish autovacuum informations |