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

yg04076님의 프로필 이미지
yg04076

작성한 질문수

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

간단한 주문 조회 V1: 엔티티를 직접 노출

업데이트는 그냥 dirty-checking을 이용하면 된다고 하셨는데..

해결된 질문

작성

·

279

·

수정됨

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
강의에서 '"성능의 경우 조회에서 문제가 생기고, 생성이랑 수정은 성능 문제가 잘 발생하지 않는다"고 한 부분에서 궁금증이 생겼습니다!

 

업데이트의 경우 JPQL을 사용한 쿼리문을 통해 수정하는 방법이 있고, 엔티티를 싹 불러와서 dirty-cheking을 이용하는 방법이 있는걸로 알고 있습니다.

 

제 생각에는 뭔가 엔티티를 싹 불러오는 후자의 방법이 더 느릴거 같은데, 왜 후자를 그냥 쓰면 된다고 하신 이유가 궁금합니다!

또 두 방식 중 어떤 상황에 무엇을 써야하는 지 기준이 있다면, 알려주시면 감사하겠습니다!

 

답변 1

0

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

일반적으로 업데이트가 발생하는 상황은 하나의 엔터티 혹은 그와 관련된 엔터티들 정도이기 때문입니다.

만약 대량의 업데이트가 필요하다면 변경감지 대신 JPQL, 네이티브 쿼리를 활용하면 됩니다.

감사합니다.

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

대량의 데이터를 업데이트 한다면, JPQL 사용 시 확실히 성능 차이가 나나요?

업데이트 방식에 따라 다르지만 단순 변경의 경우 많이 차이날 수 있습니다.

yg04076님의 프로필 이미지
yg04076

작성한 질문수

질문하기