[jdbc] support JDBC option to rewrite batch statement to multi-row in… #1220
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
batch statement int[] results = insertStatement.executeBatch() returns 1 for successful completion. when the batch statement is re-written to multi-row insert, SUCCESS_NO_INFO (-2) is returned instead. This change expands allowable results values to be 1 AND -2
Comparison of CockroachDB, MariaDB, Postgres was run to validate batchrewrite does provide performance improvements. NOTE: No attempts have been made to get optimal performance of each databases. Relative performance gains from each technique -- no batch, batch, batch rewritten to multi-row inserts -- are demonstrated.
All tests were performed on the same single MacBook
Below summarizes Throughput(ops/sec) loading 100,000 rows.
Logs of each runs below:
cockraochdb.batch.log
cockraochdb.batchrewrite.log
cockraochdb.nobatch.log
mariadb.batch.log
mariadb.batchrewrite.log
mariadb.nobatch.log
postgres.batch.log
postgres.batchrewrite.log
postgres.nobatch.log