citusdata / citusdata/citus

Local-distributed table join improvements

Open
#4,414 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.