PreparedStatement를 사용하여 Java로 MySQL에서 여러 행 삽입 최적화
데이터베이스 프로그래밍에서 여러 행을 테이블에 효율적으로 삽입하는 것은 성능을 위해 매우 중요합니다. 이 문서에서는 Java의 preparedStatement를 사용하여 MySQL에서 여러 행 삽입을 최적화하는 방법을 설명합니다.
Background
이전에는 간단한 루프를 사용하여 한 번에 하나씩 행을 삽입했습니다. 비효율적일 수 있습니다. 성능 향상을 위해 단일 명령문에 여러 행을 삽입할 수 있는 MySQL 지원 구문을 활용하는 것이 목표입니다.
PreparedStatement 일괄 처리 사용
MySQL은 실행 방법으로 일괄 처리를 제공합니다. 여러 개의 문을 그룹으로 묶습니다. ReadyStatement를 사용하면 addBatch() 메서드를 사용하여 배치에 개별 행 데이터를 추가하여 이를 달성할 수 있습니다. 일괄 처리가 완료되거나 특정 크기 제한에 도달하면 ExecuteBatch()를 사용하여 전체 일괄 처리를 실행할 수 있습니다.
아래는 ReadyStatement를 사용한 일괄 처리의 예입니다.
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. } } } }
배칭을 사용하면 성능이 향상됩니다. 데이터베이스 왕복을 줄이고 서버가 여러 문을 효율적으로 실행할 수 있도록 합니다.
추가 리소스
JDBC 일괄 처리에 대한 추가 정보:
위 내용은 Java의 ReadyStatement를 사용하여 MySQL에서 여러 행 삽입을 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!