Open blogh opened 3 years ago
just in case, 2 examples from our workshop of the same query with and without async:
https://explain.dalibo.com/plan/QEC https://explain.dalibo.com/plan/j6V
(merci @fljdin )
The parse of the "Async Foreign Scan" is now supported. I'm leaving this ticket open since there may be improvements to be done on the calculation.
PostgreSQL can now execute queries in Foreign server in an asynchronous manner.
Before the executor visited execution nodes one-by-one. Considering sharding, Append on multiple postgres_fdw nodes can work simultaneously and that can largely shorten the respons of the whole query. For example, aggregations that can be pushed-down to remote would be accelerated by the number of remote servers. Even other than such an extreme case, collecting tuples from multiple servers also can be accelerated by tens of percent.
Discussion :
Commit Fest entry :
Set up :
Example plan :
PEV2 produces the following output for this plan : https://explain.dalibo.com/plan/KVB
I think the calculation of the duration of the append node is false since the "Async Foreign Scans" are done at the same time. Right now, I am not sure how it should be computed ...