Local-distributed table join improvements
- Dominant language
- C
- Stars
- 12.8k
- Forks
- 794
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 31
Description
This issue contains possibly improvements on local-distributed table joins, which is coming with #4358.
- Use attr_needed to find the required attributes and when creating a subquery, remove the quals from the original query which are used in the subquery. This might bring some performance gain.
- Consider total cost of each side, currently we don't consider how many RTEs are to be converted. But this could lead to things like Convert 100 local tables when there is only a single distributed table.
- Modify router planner so that `UPDATE ref SET a = 5 FROM local ... ` works
- update local table from a remote citus local table as in "updating a local table from citus local on worker" (This was actually working but we don't want to consider the case of citus-local tables as a separate thing so should find a better solution)
- If there is only a variable reference in a query, we currently error out. We have a prototype to support this but it hits some other planner limitations for some queries https://github.com/citusdata/citus/pull/4470
- Currently we don't consider any stats for any table, we might somehow get statistics about tables to be able to decide better on what tables to convert
Contributor guide
Assessment
This issue has not been assessed yet.