벌크인서트1 saveAll() 썼다가 서버가 뻗었다고요? JPA 벌크 인서트(Bulk Insert)의 배신과 JdbcTemplate 100배 최적화 안녕하세요, 여러분의 든든한 IT 길잡이 데브프리입니다. 백엔드 실무를 하다 보면 외부 API에서 대량의 데이터를 긁어오거나, 운영팀이 넘겨준 수만 건의 엑셀(Excel) 데이터를 DB에 한 번에 밀어 넣어야 하는 상황(데이터 마이그레이션, 로그 적재 등)이 반드시 찾아옵니다. 스프링 부트(Spring Boot) 개발자라면 당연히 리스트에 데이터를 차곡차곡 담은 뒤, userRepository.saveAll(users)를 호출하며 쿨하게 퇴근을 준비할 것입니다. 하지만 실서버에서 이 코드가 실행되는 순간, 서버 CPU가 미친 듯이 치솟고 30초가 지나도 응답이 오지 않는 기현상을 마주하게 됩니다. 데이터가 10만 건을 넘어간다면 무시무시한 OutOfMemoryError와 함께 서버가 그대로 기절해 버리죠.. 2026. 8. 10. 이전 1 다음