PreparedStatement를 사용하여 MySQL에 여러 행 삽입
한 번에 여러 행을 데이터베이스에 삽입해야 하는 경우가 많습니다. 각 행을 반복하고 삽입 문을 실행하는 기존 방법은 비효율적일 수 있지만 MySQL은 단일 쿼리에 여러 행을 삽입할 수 있는 구문을 제공합니다.
INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), ('val1', 'val2')[, ...]
일괄 처리를 위해 준비된 상태 사용
Java 및 ReadyStatements를 사용하여 이 프로세스를 최적화하려면 preparedStatement 클래스에서 지원하는 일괄 처리를 고려하세요. addBatch()를 사용하여 배치를 생성하면 ExecuteBatch()를 사용하여 그룹으로 실행할 수 있습니다.
코드 예
다음 예는 배치 삽입 방법을 보여줍니다.
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(); } } } }
일괄 실행 최적화
JDBC 드라이버 또는 데이터베이스의 잠재적인 제한을 피하기 위해 1000개 항목마다 일괄 처리가 실행됩니다.
추가 리소스
위 내용은 Java ReadyStatements를 사용하여 MySQL에 여러 행을 효율적으로 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!