[Git][ultreiaio/ird-t3][develop] improve performance on loading script
Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: d7bdbdc7 by Tony CHEMIT at 2017-04-10T15:12:36+02:00 improve performance on loading script - - - - - 1 changed file: - t3-domain/src/main/java/fr/ird/t3/entities/T3JdbcHelper.java Changes: ===================================== t3-domain/src/main/java/fr/ird/t3/entities/T3JdbcHelper.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/entities/T3JdbcHelper.java +++ b/t3-domain/src/main/java/fr/ird/t3/entities/T3JdbcHelper.java @@ -74,20 +74,30 @@ public class T3JdbcHelper extends JdbcHelper { try (Connection connection = openConnection()) { try (Statement preparedStatement = connection.createStatement()) { - int currentBuffer = 0; - StringBuilder currentStatement = new StringBuilder(); + int statementCount = 0; + StringBuilder currentStatement = null; for (String sqlStatement : new SqlFileReader(reader)) { if (sqlStatement.startsWith("--")) { continue; } - currentStatement.append("\n").append(sqlStatement); if (sqlStatement.trim().endsWith(";")) { - preparedStatement.addBatch(currentStatement.toString()); - currentBuffer++; - currentStatement = new StringBuilder(); + if (currentStatement == null) { + preparedStatement.addBatch(sqlStatement); + } else { + currentStatement.append("\n").append(sqlStatement); + preparedStatement.addBatch(currentStatement.toString()); + currentStatement = null; + } + statementCount++; + } else { + if (currentStatement == null) { + currentStatement = new StringBuilder(sqlStatement); + } else { + currentStatement.append("\n").append(sqlStatement); + } } - if (currentBuffer % BUZZER_SIZE == 0) { + if (statementCount % BUZZER_SIZE == 0) { preparedStatement.executeBatch(); preparedStatement.clearBatch(); } View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/commit/d7bdbdc75068ac4fa156809e2c8c10c0d...
participants (1)
-
Tony CHEMIT