From: | Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Fix the miss consideration of tuple_fraction during add_paths_to_append_rel |
Date: | 2023-04-10 08:35:09 |
Message-ID: | CAKU4AWqEnzhUTxopVhENC3vs6NnYV32+e6GSBtp1rAv0ZNX=mQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
When I am working on "Pushing limit into subqueries of a union" [1], I
found we already have a great infrastructure to support this. For a query
like
subquery-1 UNION ALL subquery-2 LIMIT 3;
We have considered the root->tuple_fraction when planning the subqueries
without an extra Limit node as an overhead. But the reason it doesn't work
in my real case is flatten_simple_union_all flat the union all subqueries
into append relation and we didn't handle the root->tuple_fraction during
add_paths_to_append_rel.
Given the below query for example:
explain analyze
(select * from tenk1 order by hundred)
union all
(select * from tenk2 order by hundred)
limit 3;
Without the patch: Execution Time: 7.856 ms
with the patch: Execution Time: 0.224 ms
Any suggestion is welcome.
[1] https://www.postgresql.org/message-id/11228.1118365833%40sss.pgh.pa.us
--
Best Regards
Andy Fan
Attachment | Content-Type | Size |
---|---|---|
v1-0001-Considering-root-tuple_fraction-during-create_app.patch | application/octet-stream | 3.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Hayato Kuroda (Fujitsu) | 2023-04-10 09:16:09 | RE: [PoC] pg_upgrade: allow to upgrade publisher node |
Previous Message | Kyotaro Horiguchi | 2023-04-10 08:35:00 | eclg -C ORACLE breaks data |