
백엔드
JPA 배치 인서트 vs JDBC배치 인서트
두줄요약
대용량 데이터 등록에서 JPA 배치와 JDBC 배치를 직접 비교해 성능을 확인했습니다. 단일 MySQL 환경에서는 JDBC 템플릿 배치를 선택해 생산성과 속도를 함께 높였습니다.
핵심 내용
- 대용량 데이터 등록에서 JPA 배치 인서트와 JDBC 배치 인서트를 비교한 성능 검증 사례
- JPA는 persist와 flush, clear로 배치 처리하고 JDBC는 addBatch와 executeBatch로 직접 배치 처리
- 150,000건 기준 평균 성능 비교에서 JDBC가 더 빨라 실제 프로젝트 적용 대상으로 선택
- 이후 JDBC와 JDBC 템플릿을 비교해, 단일 DB 환경에서는 JDBC 템플릿의 간결성과 생산성에 주목
적용해볼 점
- 배치 사이즈와 트랜잭션 범위를 데이터 특성에 맞게 조정할 필요
- 성능이 중요한 대량 등록 작업은 사전 비교 테스트 후 기술 선택이 적합
- 반복적인 JDBC 코드가 부담되면 JDBC 템플릿의 batchUpdate와 BatchPreparedStatementSetter 활용 가능
