-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
colexec: short-circuit hash join when build side is empty #48668
Conversation
I noticed this in the output of
so I got curious what's going on. Took a look at |
Previously, we would always fully consume both sides of the join, even when the build (right) side is empty. We can, however, short-circuit in such case for INNER, RIGHT OUTER, and LEFT SEMI joins and skip probing phase altogether in such scenarios. For example, this helps query 93 of TPC-DS benchmark with scale factor 1. Release note: None
46cd816
to
4c860fd
Compare
❌ The GitHub CI (Cockroach) build has failed on 4c860fd2. 🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is otan. |
❌ The GitHub CI (Cockroach) build has failed on 4c860fd2. 🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is otan. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 2 of 2 files at r1.
Reviewable status:complete! 1 of 0 LGTMs obtained
TFTR! bors r+ |
Merge conflict (retrying...) |
Build failed (retrying...) |
Build succeeded |
Previously, we would always fully consume both sides of the join, even
when the build (right) side is empty. We can, however, short-circuit in
such case for INNER, RIGHT OUTER, and LEFT SEMI joins and skip probing
phase altogether in such scenarios. For example, this helps query 93 of
TPC-DS benchmark with scale factor 1.
Release note: None