Re: Foreign join pushdown vs EvalPlanQual
От | Kouhei Kaigai |
---|---|
Тема | Re: Foreign join pushdown vs EvalPlanQual |
Дата | |
Msg-id | 9A28C8860F777E439AA12E8AEA7694F801172A56@BPXM15GP.gisp.nec.co.jp обсуждение исходный текст |
Ответ на | Foreign join pushdown vs EvalPlanQual (Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>) |
Ответы |
Re: Foreign join pushdown vs EvalPlanQual
|
Список | pgsql-hackers |
> On Tue, Nov 17, 2015 at 6:51 PM, Kouhei Kaigai <kaigai@ak.jp.nec.com> wrote: > > It just intends to keep code symmetry with custom-scan case, so not > > a significant reason. > > And, I expected ForeignScan will also need multiple sub-plans soon > > to support more intelligent push-down like: > > > http://www.postgresql.org/message-id/9A28C8860F777E439AA12E8AEA7694F8010F47D > A@BPXM15GP.gisp.nec.co.jp > > I might be missing something, but why would that require multiple child plans? > Apart from EPQ rechecks, the above aggressive push-down idea allows to send contents of multiple relations to the remote side. In this case, ForeignScan needs to have multiple sub-plans. For example, please assume here is three relations; tbl_A and tbl_B are local and small, tbl_F is remote and large. In case when both of (tbl_A JOIN tbl_F) and (tbl_B JOIN tbl_F) produces large number of rows thus consumes deserved amount of network traffic but (tbl_A JOIN tbl_B JOIN tbl_F) produce small number of rows, the optimal strategy is to send local contents to the remote side once then run a remote query here to produce relatively smaller rows. In the implementation level, ForeignScan shall represent (tbl_A JOIN tbl_B JOIN tbl_F), then it returns a bunch of joined tuples. Its remote query contains VALUES(...) clauses to pack contents of the tbl_A and tbl_B, thus, it needs to be capable to execute underlying multiple scan plans and fetch tuples prior to remote query execution. So, ForeignScan may also have multiple sub-plans. Of course, it is an independent feature from the EPQ rechecks. It is not a matter even if we will extend this field later. Thanks, -- NEC Business Creation Division / PG-Strom Project KaiGai Kohei <kaigai@ak.jp.nec.com>
В списке pgsql-hackers по дате отправления: