MySQL은 다양한 웹 애플리케이션과 대기업 시스템에서 널리 사용되는 매우 인기 있는 관계형 데이터베이스입니다. 실제 응용 시나리오에서 대량의 데이터를 읽고 삽입하는 경우 기존의 단일 데이터 작업을 사용하면 비효율적이므로 MySQL은 일괄 읽기 및 삽입 방법을 제공합니다. 이 기사에서는 개발자가 데이터베이스 작업을 더 효과적으로 최적화할 수 있도록 MySQL의 일괄 읽기 및 삽입 방법을 소개합니다.
일반적으로 데이터베이스 데이터를 읽을 때 SELECT 문을 사용하지만, 많은 양의 데이터를 읽어야 하는 경우 단일 쿼리는 분명히 비효율적입니다. 이때, MySQL에서 제공하는 일괄 데이터 읽기 방법, 즉 LIMIT 문을 사용하여 매번 읽는 데이터 행 수를 제한할 수 있습니다.
"user" 테이블에서 모든 데이터를 읽어야 한다고 가정하면 다음 코드를 사용할 수 있습니다.
SELECT * FROM user;
이렇게 하면 모든 데이터를 한 번에 읽게 되므로 데이터 양이 많을 경우 성능 병목 현상이 발생할 수 있습니다. 이 문제를 해결하기 위해 아래와 같이 일괄 읽기를 수행하고 LIMIT 문을 사용하여 매번 읽는 데이터 행 수를 제한할 수 있습니다.
SELECT * FROM user LIMIT 0, 1000; SELECT * FROM user LIMIT 1000, 1000; SELECT * FROM user LIMIT 2000, 1000;
위 코드는 데이터를 3개의 배치로 나누어 1,000개의 조각을 읽습니다. 각 배치의 데이터. 많은 양의 데이터를 한 번에 읽어서 발생하는 성능 저하를 방지하기 위해 읽을 때마다 LIMIT 문을 사용하여 시작 위치와 가져올 데이터 행 수를 지정합니다.
매번 하나의 레코드를 삽입하면 많은 시간과 리소스가 소모됩니다. 데이터 삽입의 효율성을 높이기 위해 MySQL에서 제공하는 일괄 삽입 방식, 즉 여러 레코드를 데이터베이스에 함께 삽입하는 방식을 사용할 수 있습니다.
배치를 사용하여 데이터를 삽입하는 기본 단계는 다음과 같습니다.
다음은 샘플 코드입니다.
Connection conn = null; PreparedStatement pstmt = null; try { conn = dataSource.getConnection(); String sql = "INSERT INTO user(name,age) VALUES(?,?)"; pstmt = conn.prepareStatement(sql); for (int i = 0; i < userNumber; i++) { pstmt.setString(1, "user" + i); pstmt.setInt(2, i * 10); pstmt.addBatch(); } pstmt.executeBatch(); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(pstmt); DBUtil.close(conn); }
위 코드에서는 preparedStatement를 사용하여 일괄 매개변수를 추가한 후, ExecuteBatch() 메서드를 사용하여 여러 레코드를 데이터베이스에 함께 삽입하는 일괄 작업을 수행합니다.
Notes
일괄 읽기 및 삽입 작업을 사용할 때 다음 사항에 주의해야 합니다.
결론
MySQL의 일괄 읽기 및 삽입 방법 도입을 통해 일괄 작업이 대용량 데이터 애플리케이션에서 일반적인 작업 방법이며 데이터베이스 작업의 효율성을 크게 향상시킬 수 있음을 알 수 있습니다. 실제 개발에서는 최적의 성능 목표를 달성하기 위해 특정 상황에 따라 다양한 운영 방법을 선택해야 합니다.
위 내용은 MySQL의 일괄 읽기 및 삽입 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!