inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! Querydsl

서브 쿼리

면접 때, fetchjoin 관련 질문을 받았었는데요

666

ㅅㅎ
0

"N+1 문제 관련하여 어떻게 하면 해결할 수 있느냐?"

최근에 위와 같은 질문을 받았었는데요. 당연히 일반적으로 fetch join을 사용하니까 위와 같이 대답을 했었는데. 그렇다고 모든 걸 fetch join으로 사용할 수 없으니까 다른 최적화된 방법에 대해 아는게 있냐고 질문하시더라고요. 그래서 그 부분과 관련해서 질문드리는데요.

 

  1. 혹시 이론적인 부분 말고 실무적으로 위와 같은 내용을 해결할 수 있는 방법이 있을까요?

  2. 제가 생각했던 방법 중의 하나는 연관 관계를 맺지 않은 상태에서 해당 테이블의 PK를 갖고 있는 건데. (예를 들어, 주문 테이블, 상품 테이블이 있다면 주문 테이블에서 상품 테이블의 PK를 단순 컬럼 선언으로 갖고 있는 구조) 이런 구조로 해결할 수도 있나요?

  3. 이론적으로 JPA에서는 연관관계를 맺지만 실무적으로도 연관관계를 무조건적으로 맺어야 하나요? 예를 들어, FK가 걸려있는 회원과 게시판 테이블이 있는데 '게시판 글 등록'을 하게 되면 실제 존재하는 회원인지 회원 테이블에서 확인을 할 텐데 회원 테이블의 데이터가 1,000만명이면 그걸 다 확인하는 구조일텐데 현실적으로 이런 것들을 고려해서 실무에서는 어떡게 해결하시는지 궁금합니다.

 

java jpa

답변 1

0

김영한

안녕하세요. ㅅㅎ님

제 생각에 문제를 내신 면접관 분이 다음 강의를 듣고 문제를 출제하신 것 같네요^^

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

링크: https://inf.run/CU9mR

해당 강의를 들어보시면 원하시는 답을 찾으실 수 있을거에요.

감사합니다.

정처기2회실기를 마치고.

0

72

0

방산 SW 개발자가 되기 위한 조언을 부탁드립니다!

1

194

1

JAVA로 백엔드 프로젝트

0

107

1

26년1회 실기 합격할수 있을까??ㅠㅠ

0

200

1

자바 실무 단계

0

333

2

진로가 큰 걱정입니다...

0

325

1

공부 방향

0

331

1

안녕하세요! 실무와 관련되서 질문드립니다!

0

352

1

함수형 인터페이스 활용

0

375

1

WebFlux를 실무에 적용하기 전에 고민이 있습니다.

0

327

0

코딩테스트 준비

0

488

1

공부하다 진도를 못 나가고 있어요 ㅜㅜ

0

421

1