집 >데이터 베이스 >MySQL 튜토리얼 >Java의 ReadyStatement를 사용하여 MySQL에 여러 행을 효율적으로 삽입하려면 어떻게 해야 합니까?
PreparedStatement를 사용하여 preparedStatement를 사용하여 MySQL에 여러 행 삽입
Java에서는 ReadyStatement의 배치를 사용하여 MySQL 테이블에 여러 행을 효율적으로 삽입할 수 있습니다. 처리 능력. 이전에는 각 행에 대해 개별 SQL 문을 실행하는 것이 일반적이었습니다.
for (String element : array) { myStatement.setString(1, element[0]); myStatement.setString(2, element[1]); myStatement.executeUpdate(); }
그러나 성능을 최적화하기 위해 MySQL은 한 번에 여러 행을 삽입할 수 있는 구문을 제공합니다.
INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), ('val1', 'val2')[, ...]
preparedStatement에서 이 접근 방식을 활용하려면 일괄 처리가 필요합니다.
다음은 프로세스를 보여주는 예입니다.
public void save(List<Entity> entities) throws SQLException { try ( Connection connection = database.getConnection(); PreparedStatement statement = connection.prepareStatement(SQL_INSERT); ) { int i = 0; for (Entity entity : entities) { statement.setString(1, entity.getSomeProperty()); // ... statement.addBatch(); i++; if (i % 1000 == 0 || i == entities.size()) { statement.executeBatch(); // Execute every 1000 items. } } } }
1000개 행마다 배치 실행 JDBC 드라이버 또는 데이터베이스가 배치 크기에 부과하는 잠재적인 제한을 피하는 데 도움이 됩니다.
자세한 내용은 JDBC 튜토리얼을 참조하세요. 일괄 업데이트를 위한 preparedStatement 및 명령문 개체 사용에 대한 자세한 내용입니다.
위 내용은 Java의 ReadyStatement를 사용하여 MySQL에 여러 행을 효율적으로 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!