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

feat: Support prefix comparator in spill merge #11824

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jinchengchenghh
Copy link
Contributor

Build the prefix buffer when merge the RowVector from files, it will only take effect when the number of normalized key is more than 2, because 1 sort key query may not benefit from prefix buffer because it compares by accessing the RowVector one column value buffer and null buffer.

Use the config spill_merge_prefix_comparator_enabled to control the behavior, default true.

The integration test shows it can accelerate TPCDS Q97 5% when the sort keys are {BIGINT(), BIGINT()}. It should benefit more if there are more sort keys or more spilled files.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Dec 11, 2024
Copy link

netlify bot commented Dec 11, 2024

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit 8eb518d
🔍 Latest deploy log https://app.netlify.com/sites/meta-velox/deploys/675bcaa074915e0008407d00

Copy link
Contributor

@xiaoxmeng xiaoxmeng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tanjialiang can you help merge this PR if we see >2x performance improvement on spill merge stage or >10% e2e query execution time with meta internal workload? thanks!

@facebook-github-bot
Copy link
Contributor

@tanjialiang has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants