-
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
*: use new row-format in tidb #12634
Conversation
Codecov Report
@@ Coverage Diff @@
## master #12634 +/- ##
===========================================
Coverage ? 80.6571%
===========================================
Files ? 483
Lines ? 124325
Branches ? 0
===========================================
Hits ? 100277
Misses ? 16121
Partials ? 7927 |
read performance by https://github.com/lysu/sysbench/tree/dev-add-garbage, using before:
after:
|
@lysu |
/run-all-tests |
Amazing |
/run-all-tests tikv=pr/6323 |
/run-integration-common-test tikv=pr/6323 |
/run-all-tests tikv=pr/6323 |
1 similar comment
/run-all-tests tikv=pr/6323 |
/run-all-tests tikv=pr/6323 |
func (b *executorBuilder) buildBatchPointGet(plan *plannercore.BatchPointGetPlan) Executor { | ||
startTS, err := b.getStartTS() | ||
if err != nil { | ||
b.err = err | ||
return nil | ||
} | ||
decoder := newRowDecoder(b.ctx, plan.Schema(), plan.TblInfo) |
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.
Can we reuse the Decoder for the same table?
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.
our PointGetExecutor
is pointget + projection , so plan.Schema()
will get different results for select a from t where id = 1
and select a, b from t where id = 1
(len1 vs len2), in previous commits, I have try to reuse decoder in cached plan level, but after discuss with others, it introduce some complex code, maybe we can renew at here but do it later?
/run-all-tests |
/run-all-tests tikv=pr/6323 |
/run-all-tests tikv=pr/6132 |
/run-all-tests |
/bench |
Benchmark Report
@@ Benchmark Diff @@
================================================================================
--- tidb: b1c08ee2765ea6b370555dc172bb3b998a8cc6c0
+++ tidb: d4eae20aa781e13f6872556c50607606cfa70bf2
--- tikv: 267a5ebf7edb229cc53f5a8faa71975225bc6d8e
+++ tikv: 0de6ef5af5b75cf523ae0c54d9b433f62a407f06
pd: ea974c9488b8d304a72916d8cc50962f5ab99c5d
================================================================================
oltp_update_index:
* QPS: 6404.59 ± 0.64% (std=26.52) delta: 0.25% (p=0.477)
* Latency p50: 19.98 ± 0.64% (std=0.08) delta: -0.26%
* Latency p99: 37.23 ± 0.90% (std=0.34) delta: -0.89%
oltp_insert:
* QPS: 4769.73 ± 0.18% (std=6.40) delta: -0.04% (p=0.775)
* Latency p50: 26.83 ± 0.19% (std=0.04) delta: 0.04%
* Latency p99: 46.84 ± 2.24% (std=0.70) delta: -0.58%
oltp_read_write:
* QPS: 16117.26 ± 0.02% (std=2.28) delta: 0.36% (p=0.276)
* Latency p50: 159.14 ± 0.02% (std=0.02) delta: -0.41%
* Latency p99: 301.53 ± 1.20% (std=2.55) delta: -2.42%
oltp_point_select:
* QPS: 43379.19 ± 0.15% (std=38.50) delta: 1.49% (p=0.022)
* Latency p50: 2.95 ± 0.00% (std=0.00) delta: -1.50%
* Latency p99: 9.73 ± 0.00% (std=0.00) delta: 1.78%
oltp_update_non_index:
* QPS: 4714.59 ± 0.02% (std=0.65) delta: -0.01% (p=0.906)
* Latency p50: 27.15 ± 0.02% (std=0.00) delta: 0.00%
* Latency p99: 41.10 ± 0.00% (std=0.00) delta: 0.00%
|
/run-unit-test |
/bench +tpcc
|
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
LGTM |
/merge |
Your auto merge job has been accepted, waiting for 14321 |
/run-all-tests |
What problem does this PR solve?
using https://github.com/pingcap/tidb/blob/master/docs/design/2018-07-19-row-format.md format in TiDB
follow up #7597 but get optimize for rowcodec from unionstore
tikv pr in tikv/tikv#6132
What is changed and how it works?
WIP... need more tunning to make performance can be improved(now testing with unionstore).
Check List
Tests
Code changes
Side effects
Related changes
Release note
This change is