@@ -2012,8 +2012,6 @@ func BenchmarkPipelinedInsertIgnoreNoDuplicates(b *testing.B) {
2012
2012
}
2013
2013
2014
2014
func BenchmarkPipelinedInsertOnDuplicate (b * testing.B ) {
2015
- require .NoError (b , failpoint .Enable ("tikvclient/pipelinedSkipResolveLock" , "return" ))
2016
- defer require .NoError (b , failpoint .Disable ("tikvclient/pipelinedSkipResolveLock" ))
2017
2015
logutil .InitLogger (& logutil.LogConfig {Config : log.Config {Level : "fatal" }})
2018
2016
se , do , st := prepareBenchSession ()
2019
2017
defer func () {
@@ -2048,8 +2046,6 @@ func BenchmarkPipelinedInsertOnDuplicate(b *testing.B) {
2048
2046
}
2049
2047
2050
2048
func BenchmarkPipelinedDelete (b * testing.B ) {
2051
- require .NoError (b , failpoint .Enable ("tikvclient/pipelinedSkipResolveLock" , "return" ))
2052
- defer require .NoError (b , failpoint .Disable ("tikvclient/pipelinedSkipResolveLock" ))
2053
2049
logutil .InitLogger (& logutil.LogConfig {Config : log.Config {Level : "fatal" }})
2054
2050
se , do , st := prepareBenchSession ()
2055
2051
defer func () {
@@ -2111,3 +2107,37 @@ func BenchmarkPipelinedReplaceNoDuplicates(b *testing.B) {
2111
2107
b .StopTimer ()
2112
2108
b .ReportMetric (float64 (b .Elapsed ().Nanoseconds ()/ int64 (b .N * batchSize * batchNum )), "ns/row" )
2113
2109
}
2110
+
2111
+ func BenchmarkPipelinedUpdate (b * testing.B ) {
2112
+ logutil .InitLogger (& logutil.LogConfig {Config : log.Config {Level : "fatal" }})
2113
+ se , do , st := prepareBenchSession ()
2114
+ defer func () {
2115
+ se .Close ()
2116
+ do .Close ()
2117
+ st .Close ()
2118
+ }()
2119
+ mustExecute (se , `create table src (id int, dt varchar(128))` )
2120
+ for i := 0 ; i < batchNum ; i ++ {
2121
+ mustExecute (se , "begin" )
2122
+ for lines := 0 ; lines < batchSize ; lines ++ {
2123
+ mustExecute (se , "insert into src values (42, repeat('x', 128))" )
2124
+ }
2125
+ mustExecute (se , "commit" )
2126
+ }
2127
+
2128
+ se .GetSessionVars ().BulkDMLEnabled = true
2129
+ se .GetSessionVars ().StmtCtx .InUpdateStmt = true
2130
+
2131
+ b .StopTimer ()
2132
+ b .ResetTimer ()
2133
+ for i := 0 ; i < b .N ; i ++ {
2134
+ b .StartTimer ()
2135
+ if i % 2 == 0 {
2136
+ se .Execute (context .Background (), "update src set dt = left(concat('y', dt), 128)" )
2137
+ } else {
2138
+ se .Execute (context .Background (), "update src set dt = left(concat('z', dt), 128)" )
2139
+ }
2140
+ b .StopTimer ()
2141
+ }
2142
+ b .ReportMetric (float64 (b .Elapsed ().Nanoseconds ()/ int64 (b .N * batchSize * batchNum )), "ns/row" )
2143
+ }
0 commit comments