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

[Exec] issue collections #190

Open
zhouqingqing opened this issue Aug 15, 2020 · 0 comments
Open

[Exec] issue collections #190

zhouqingqing opened this issue Aug 15, 2020 · 0 comments

Comments

@zhouqingqing
Copy link
Owner

zhouqingqing commented Aug 15, 2020

  1. wasted row construction in join operation:

we have this pattern in join:

                            n = ExecProject(new Row(v.row_, r));

and in ExecProject(Row input)

        {
            Row r = new Row(output.Count);
 ...
            return r;
        }

So we construct result row twice. If ExecProject can take (Row left, Row right) as input, we don't have to waste one construction. Notes a straightforward idea may need changes in algebrizer ordinal resolution, but it might be possible to do it without touching algebrizer.

  1. enhance distributed profiling:

(actual rows = 100, loops = 10)
=>
(actual rows = 93..105, loops = 10)

we can further print details if with EXPLAIN VERBOSE

(actual rows = 93..105, loops = 10)
    thread 1: actual rows = 98
    thread 2: actual rows = 105
    ...
    thread 10: actual rows = 100
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

1 participant