Skip to content
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

distsql: stream rows from the left input rather than reading a whole group in AlgebraicSetOp #16064

Closed
asubiotto opened this issue May 22, 2017 · 4 comments
Milestone

Comments

@asubiotto
Copy link
Contributor

We currently fully consume whole groups (defined as the set of rows equal under a set of ordering columns) from both the left and right input when executing EXCEPT ALL (output rows from the left side that have no matching row on the right side). I believe it's only necessary to fully consume a group from the right input and stream rows from the left.

@asubiotto asubiotto added this to the 1.1 milestone May 22, 2017
@rjnn
Copy link
Contributor

rjnn commented Aug 15, 2017

This isn't currently being planned in 1.1, so this performance optimization can wait until we plan set operations. Moving to 1.2

@rjnn rjnn modified the milestones: 1.2, 1.1 Aug 15, 2017
@jordanlewis
Copy link
Member

This issue is pretty old. Is it subsumed by any of the recent work on algebraic set ops? cc @abhimadan

@abhimadan
Copy link
Contributor

I believe so. After #21896, we'll be using the mergeJoiner and hashJoiner for set op queries, so queries without any ordering will fall back to the hash joiner, which has the behaviour @asubiotto described.

@jordanlewis
Copy link
Member

Great! Please add "Closes #16064" to that pull request so this will automatically close when your pr merges.

abhimadan pushed a commit to abhimadan/cockroach that referenced this issue Feb 5, 2018
Part of cockroachdb#10432, cockroachdb#21661, and cockroachdb#21706.

Closes cockroachdb#16064.

Release note (performance improvement): Support distributed execution of
INTERSECT ALL and EXCEPT ALL queries.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants