📋 개요

대용량 Excel 데이터(30,000건 이상) 처리 시 발생하던 OutOfMemory (OOM) 문제를 해결하기 위해 BatchInsertExecutor 유틸리티 클래스를 도입하여 메모리 효율적인 bulk insert를 구현했습니다.

🔴 문제 상황

발생한 문제

원인 분석

  1. 대량 데이터 일괄 처리: 한 번에 수만 건의 데이터를 insert하려고 시도
  2. 암호화 함수 사용AES_ENCRYPT 함수로 인한 쿼리 문자열 크기 증가
  3. MyBatis preparedStatement 메모리 누적:
  4. useGeneratedKeys와 ExecutorType.BATCH 호환성 문제useGeneratedKeys="true" 사용 시 BATCH 모드에서 UnsupportedOperationException 발생
  5. GC 비효율: 큰 객체들이 Old Generation으로 이동하여 GC 효율성 저하

✅ 해결 방안

1. BatchInsertExecutor 유틸리티 클래스 도입

핵심 아이디어: