-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
executor: reuse chunk row for insert on duplicate update #12847
Conversation
Signed-off-by: Shuaipeng Yu <[email protected]>
/run-unit-test |
Codecov Report
@@ Coverage Diff @@
## master #12847 +/- ##
===========================================
Coverage 79.8991% 79.8991%
===========================================
Files 465 465
Lines 107632 107632
===========================================
Hits 85997 85997
Misses 15142 15142
Partials 6493 6493 |
/run-all-tests tidb-test=pr/875 |
Signed-off-by: Shuaipeng Yu <[email protected]>
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
/bench |
Benchmark Report
@@ Benchmark Diff @@
================================================================================
--- tidb: 46968add5106ea98e58facd32ee970e491b53434
+++ tidb: 9e7f6b303990d465af873462cf18bb4ca94f43d9
tikv: 7e9140667cda003b5ddf51f4acf8bec2cd76dd22
pd: 1af456e3b493dc1e9de5ef85ab7595909b4d9796
================================================================================
oltp_update_non_index:
* QPS: 4031.08 ± 1.02% (std=27.32) delta: 1.98% (p=0.023)
* Latency p50: 31.75 ± 1.02% (std=0.21) delta: -1.95%
* Latency p99: 82.47 ± 1.20% (std=0.70) delta: -0.59%
oltp_insert:
* QPS: 4701.44 ± 0.25% (std=9.21) delta: 0.19% (p=0.261)
* Latency p50: 27.22 ± 0.25% (std=0.05) delta: -0.18%
* Latency p99: 50.12 ± 1.81% (std=0.91) delta: -2.26%
oltp_read_write:
* QPS: 10972.92 ± 0.11% (std=9.81) delta: -0.22% (p=0.872)
* Latency p50: 233.64 ± 0.08% (std=0.14) delta: 0.20%
* Latency p99: 376.49 ± 0.00% (std=0.00) delta: 0.00%
oltp_update_index:
* QPS: 4368.14 ± 0.40% (std=10.41) delta: 0.31% (p=0.551)
* Latency p50: 29.34 ± 0.09% (std=0.02) delta: -0.14%
* Latency p99: 53.62 ± 4.09% (std=1.44) delta: -2.22%
oltp_point_select:
* QPS: 32936.19 ± 0.81% (std=173.81) delta: 0.21% (p=0.558)
* Latency p50: 3.89 ± 0.90% (std=0.02) delta: -0.19%
* Latency p99: 13.34 ± 0.90% (std=0.12) delta: -0.91%
|
Signed-off-by: Shuaipeng Yu <[email protected]>
/run-unit-test |
LGTM |
/run-all-tests |
@jackysp merge failed. |
/run-all-tests |
@jackysp merge failed. |
cherry pick to release-2.1 failed |
cherry pick to release-3.0 failed |
cherry pick to release-3.1 failed |
…ect/tidb into feature-add-udf-support * 'feature-add-udf-support' of https://github.com/JustProject/tidb: (26 commits) *: fix bug that the kill command doesn't work when the killed session is waiting for the pessimistic lock (pingcap#12852) executor: fix the projection upon the indexLookUp in indexLookUpJoin can't get result. (pingcap#12889) planner, executor: support create view on union (pingcap#12595) planner/cascades: introduce TransformationID in cascades planner (pingcap#12879) executor: fix data race in test (pingcap#12910) executor: reuse chunk row for insert on duplicate update (pingcap#12847) ddl: speed up tests (pingcap#12888) executor: speed up test (pingcap#12896) expression: implement vectorized evaluation for `builtinSecondSig` (pingcap#12886) expression: implement vectorized evaluation for `builtinJSONObjectSig` (pingcap#12663) expression: speed up builtinRepeatSig by using MergeNulls (pingcap#12674) expression: speed up unit tests under the expression package (pingcap#12887) store,kv: snapshot doesn't cache the non-exists kv entries lead to poor 'insert ignore' performance (pingcap#12872) executor: fix data race in `GetDirtyTable()` (pingcap#12767) domain: increase TTL to reduce the occurrence of reporting min startTS errors (pingcap#12578) executor: split test for speed up (pingcap#12881) executor: fix inconsistent of grants privileges with MySQL when executing `grant all on ...` (pingcap#12330) expression: implement vectorized evaluation for `builtinJSONUnquoteSig` (pingcap#12841) tune grpc connection count between tidb and tikv (pingcap#12884) Makefile: change test parallel to 8 (pingcap#12885) ...
Conflicts: executor/insert.go expression/column.go
Signed-off-by: Shuaipeng Yu [email protected]
What problem does this PR solve?
MutRowFromDatums
hurts the performance when there are many columns in the table when updating the duplicate keys.What is changed and how it works?
Reuse chunk row for insert on duplicate update.
Check List
Tests
doDupRowUpdate
.master:
this PR:
Code changes
Related changes