You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "wangxiaoying (via GitHub)" <gi...@apache.org> on 2025/09/23 04:10:42 UTC
Re: [D] Join reordering [datafusion]
GitHub user wangxiaoying closed a discussion: Join reordering
I'm curious about the join reordering implementation inside datafusion. After a quick search of the code, I found that there are two rules that may reorder the join:
* `EliminateCrossJoin`: it completely reorders the joins from scratch in a way such that the join conditions can all be pushed down into the join node (preventing cross join).
* `JoinSelection`: it reorders the given join input according to statistics in terms of deciding the build and probe side.
Please let me know if I missed anything here, but it seems like there is no traditional join reordering in query optimization literature such as using DP or MEMO to decide the best join order in terms of performance. I found a related [issue](https://github.com/apache/arrow-datafusion/issues/1972) here in general for the optimizer framework but it also seems to be paused for a while. Are there any ongoing plans or discussions to implement such things?
GitHub link: https://github.com/apache/datafusion/discussions/10068
----
This is an automatically sent email for github@datafusion.apache.org.
To unsubscribe, please send an email to: github-unsubscribe@datafusion.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org