• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

즉시 로딩을 사용하면 좋을 때가 있을까요?

23.10.15 00:49 작성 조회수 241

0

안녕하세요 강의 정말 잘 듣고 실무에서도 열심히 사용하고 있습니다.

 

강의에서 lazy loading과 fetch join을 활용하여 최적화 하는 부분에 대해서는 이해를 하고 있습니다.

 

그렇다면 eager loading은 사용을 피해야하는 걸까요?

아니면 어떤 케이스에 대해서는 즉시 로딩이 더 실무적으로 유용한 경우가 있을까요?

즉시 로딩이 사용을 지양해야 된다면 JPA에서 굳이 만들지 않았을 것 같은데 어떤 상황에서 사용해야할지에 대해 의문점이 듭니다.

 

제가 생각했을 땐 테이블 분리를 위해 엔티티를 나누었지만 항상 같이 조회되는 상황이나 OneToOne 상황에서는 크게 상관없을 것 같긴한데 필요없는 컬럼까지 즉시 로딩으로 가져오는게 성능에 크게 영향을 끼치는지에 대해 궁금합니다.

 

이외에도 실무적으로 이럴 땐 지연 로딩보단 즉시 로딩이 더 적합하다라는 상황이 있다면 조언 부탁드리겠습니다.

감사합니다!

 

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2023.10.16

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

저도 즉시 로딩을 사용하지 않지만 말씀하셨던 것처럼 테이블이 분리되어있으나 비즈니스 상 항상 같이 조회하는 상황에서는 즉시 로딩을 고려해보는 것 같습니다.

lazy loading 을 사용하면서 항상 연관 엔티티를 같이 조회해야할 때는 fetch join을 항상 명시적으로 붙여줘야 하지만, eager loading에서는 그런 수고로움이 줄어들기 때문입니다.

 

감사합니다.

안녕하세요 서포터즈님. 먼저 답변 감사드립니다.

사실 한 테이블의 데이터가 너무 많아 분리하려고 할 때 위 방법을 생각하긴 했었습니다.

그럼 현업에서는 위와 같은 상황 외에는 eager loading 을 사용할 일은 없다고 보는게 맞을까요?

y2gcoder님의 프로필

y2gcoder

2023.10.22

저는 거의 없다고 생각하고 있습니다. 같이 조회해야 하면 조회용 모델을 따로 만드는 방법도 사용하는 것 같습니다!