인프런 커뮤니티 질문&답변

AudioTrack님의 프로필 이미지
AudioTrack

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

주문 조회 V3.1: 엔티티를 DTO로 변환 - 페이징과 한계 돌파

@BatchSize와 SQL Parsing

작성

·

534

0

안녕하세요. 강의 잘 듣고 있습니다.

BatchSize라는 기능을 배워서 상당히 놀라웠는데요.

해당 기능을 사용해 실행되는 쿼리를 보니

IN (?, ?)와 같이 바인딩 변수를 이용하는 것으로 보이는데

만약 말씀하신것처럼 BatchSize를 1000개로 잡았다 할 떄

최악의 경우 IN절 내부의 ? 바인딩 변수가 계속 변하게 된다면 (1개 ~ 1000개 )

소프트 파싱의 이점을 살리지 못하는 경우가 발생할 수도 있나요 ??

항상 좋은 강의 만들어주셔서 감사합니다

답변 1

1

안녕하세요. AudioTrack님, 공식 서포터즈 y2gcoder입니다.

말씀하신 것처럼 in 절은 파싱 오버헤드가 발생할 수 있습니다. 스프링 부트 최신 버전(3.1 )에서 사용하는 하이버네이트 6.2 버전부터는 array_contains 를 이용해서 이 부분을 해결한 것으로 보입니다!

다음 링크(클릭)을 참고해주십시오 :)

감사합니다.

AudioTrack님의 프로필 이미지
AudioTrack
질문자

아이고 이미 있는 질문이었군요 감사합니다 :)

파이팅입니다!

AudioTrack님의 프로필 이미지
AudioTrack

작성한 질문수

질문하기