JavaによるMySQLのINSERT高速化
JavaプログラムでJDBCを使用して接続している場合以下の方法でMySQLのマルチプルインサートを使用することができる。
マルチプルインサートは複数のINSERT文を一回のSQLで発行する方法で、高速化が図れる。
やり方
①ドライバの呼び出し部分に以下の文字列をパラメータとして記載
・rewriteBatchedStatements=true
②Javaプログラムで「addBatch」「executeBatch」を使用し以下のように記載
PreparedStatement statement = connection.prepareStatement(sql);
for (Bean bean : List) {
statement.setString(1, bean.getNo);
statement.setString(2, bean.getName);
statement.addBatch();
}
statement.executeBatch();
補足:SELECTを高速化したい場合、PreparedStatement.setFechSizeを使用すると取得する件数の単位を帰らるので高速化できる。