-
Notifications
You must be signed in to change notification settings - Fork 5.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
planner, executor: enable inline projection for merge join #15463
Conversation
/run-all-tests |
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.
Rest LGTM
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.
LGTM.
Benchmark data is appreciated.
/bench +tpch |
Hi, @lance6716 |
Benchmark Report
@@ Benchmark Diff @@
================================================================================
--- tidb: c8fa259b2e26eebc274a6637f1ee5dcc13102177
+++ tidb: 256a54df5a0609a561f438114233fbbe308222fd
tikv: ea0fd4d7688d1d462a94cfe4f7ab4d7cb0b30ab5
pd: a63cf42fe9687c0e580777a01facc4004da69b63
================================================================================
oltp_update_index:
* QPS: 4346.24 ± 0.40% (std=12.51) delta: 0.29% (p=0.294)
* Latency p50: 29.45 ± 0.41% (std=0.09) delta: -0.29%
* Latency p99: 51.94 ± 0.00% (std=0.00) delta: -3.60%
oltp_insert:
* QPS: 6917.50 ± 0.49% (std=23.50) delta: 0.12% (p=0.737)
* Latency p50: 18.50 ± 0.47% (std=0.06) delta: -0.12%
* Latency p99: 32.68 ± 2.26% (std=0.49) delta: 1.36%
oltp_read_write:
* QPS: 15004.44 ± 0.30% (std=26.48) delta: 0.55% (p=0.573)
* Latency p50: 170.97 ± 0.29% (std=0.30) delta: -0.55%
* Latency p99: 342.80 ± 5.95% (std=13.45) delta: 2.04%
oltp_point_select:
* QPS: 41951.37 ± 0.83% (std=208.27) delta: 1.65% (p=0.005)
* Latency p50: 3.05 ± 0.90% (std=0.02) delta: -1.69%
* Latency p99: 10.84 ± 0.00% (std=0.00) delta: 0.00%
|
Done |
Benchmark Report
@@ Benchmark Diff @@
================================================================================
--- tidb: 514b1809286a9d5c71f6cf257a40c12750d1f3f7
+++ tidb: 256a54df5a0609a561f438114233fbbe308222fd
tikv: be05858e9b68a4ceb5312cf9816074e199b2e293
pd: a63cf42fe9687c0e580777a01facc4004da69b63
================================================================================
oltp_update_index:
* QPS: 5991.08 ± 0.58% (std=22.41) delta: 0.72% (p=0.207)
* Latency p50: 21.37 ± 0.59% (std=0.08) delta: -0.19%
* Latency p99: 40.73 ± 0.90% (std=0.37) delta: 0.90%
oltp_insert:
* QPS: 4851.73 ± 0.10% (std=3.25) delta: -0.15% (p=0.324)
* Latency p50: 26.38 ± 0.09% (std=0.02) delta: 0.13%
* Latency p99: 47.06 ± 2.73% (std=0.95) delta: 5.25%
oltp_read_write:
* QPS: 14958.91 ± 0.89% (std=86.66) delta: 0.03% (p=0.937)
* Latency p50: 171.02 ± 0.41% (std=0.44) delta: -0.29%
* Latency p99: 309.15 ± 7.36% (std=13.88) delta: -2.65%
oltp_point_select:
* QPS: 42126.29 ± 0.61% (std=165.79) delta: -0.33% (p=0.314)
* Latency p50: 3.04 ± 0.74% (std=0.01) delta: 0.14%
* Latency p99: 10.46 ± 0.00% (std=0.00) delta: -0.90%
oltp_update_non_index:
* QPS: 4746.37 ± 0.20% (std=5.66) delta: 0.04% (p=0.749)
* Latency p50: 26.96 ± 0.20% (std=0.03) delta: 0.04%
* Latency p99: 42.24 ± 2.73% (std=0.85) delta: -1.37%
|
Hi, @lance6716 |
Benchmark Report
@@ Benchmark Diff @@
================================================================================
--- tidb: 959eca8f3a395169bb5d5938f54fddab4d0750f5
+++ tidb: 256a54df5a0609a561f438114233fbbe308222fd
tikv: 3b11b678830a06e67bca0e68bf2fbe1c336a060e
pd: 1a801edaddbbe73ab17256ac354301c1ead02cd8
================================================================================
oltp_update_index:
* QPS: 4314.46 ± 0.32% (std=9.25) delta: -0.44% (p=0.329)
* Latency p50: 29.62 ± 0.22% (std=0.05) delta: 0.30%
* Latency p99: 54.37 ± 4.55% (std=1.77) delta: 1.56%
oltp_insert:
* QPS: 7036.44 ± 0.93% (std=47.70) delta: 1.50% (p=0.032)
* Latency p50: 18.19 ± 0.92% (std=0.12) delta: -1.49%
* Latency p99: 31.66 ± 0.90% (std=0.29) delta: -1.81%
oltp_read_write:
* QPS: 14317.86 ± 0.77% (std=93.34) delta: 0.06% (p=0.909)
* Latency p50: 179.19 ± 0.81% (std=1.15) delta: -0.04%
* Latency p99: 335.39 ± 8.29% (std=18.07) delta: 4.11%
oltp_point_select:
* QPS: 42667.50 ± 0.76% (std=194.90) delta: 2.12% (p=0.005)
* Latency p50: 3.00 ± 0.67% (std=0.01) delta: -2.04%
* Latency p99: 10.46 ± 0.00% (std=0.00) delta: -2.94%
oltp_update_non_index:
* QPS: 4736.98 ± 0.35% (std=12.64) delta: -0.20% (p=0.315)
* Latency p50: 27.02 ± 0.37% (std=0.07) delta: 0.19%
* Latency p99: 42.24 ± 2.73% (std=0.85) delta: 1.84%
|
|
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.
Great! LGTM
@lance6716 merge failed. |
@lance6716 Thanks for your contribution. Please resolve the conflicts. Thanks! |
@Reminiscent conflict resolved, waiting for an approval 😄 |
ping @SunRunAway @Reminiscent |
/run-all-tests |
@lance6716 merge failed. |
What problem does this PR solve?
Problem Summary:
part of #14428
What is changed and how it works?
What's Changed:
enable inline projection for merge join
How it Works:
markChildrenUsedCols
is applied to joiner.Related changes
Check List
Tests
Side effects
Release note
benchmark based on BenchmarkMergeJoinExec
two data sources with columns of type {longlong, double, varstring(5*2014)}
case 1
no modify:
case 2
childrenUsedCols (and output schema) changed to:
significant improvement due to less column copy
case 3
childrenUsedCols (and output schema) changed to:
significant improvement, slightly slower than case 2, which is reasonable because output schema has an extra
double
column