[ https://issues.apache.org/jira/browse/IGNITE-22263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konstantin Orlov updated IGNITE-22263: -------------------------------------- Fix Version/s: 3.0.0-beta2 > Sql. Avoid starting transaction for KV operation > ------------------------------------------------ > > Key: IGNITE-22263 > URL: https://issues.apache.org/jira/browse/IGNITE-22263 > Project: Ignite > Issue Type: Improvement > Components: sql > Reporter: Konstantin Orlov > Assignee: Konstantin Orlov > Priority: Major > Labels: ignite-3 > Fix For: 3.0.0-beta2 > > Time Spent: 10m > Remaining Estimate: 0h > > Currently, performance of KV put operation via SQL API is ~2 times worse than > via KeyValueView API: > {code:java} > Benchmark (clusterSize) Mode Cnt Score Error Units > InsertBenchmark.kvInsert 1 avgt 20 67.154 ± 4.266 us/op > InsertBenchmark.sqlInsert 1 avgt 20 149.900 ± 9.679 us/op > // these numbers acquired on MBP M3, commit c25f9fda. > {code} > This is caused by the fact that sql engine starts transaction explicitly if > one was not provided by the user, thus not taking an advantage of single > phase commit optimisation which is available for implicit transactions which > touch only one partition. > We can address the issue by postponing the moment of starting a transaction > till execution phase. This will help to avoid starting an explicit > transaction for simple KV cases. -- This message was sent by Atlassian Jira (v8.20.10#820010)