지연된 초기화와 관련해서 성능적인 영향이 없음
즉시 로딩(Earge Loading) 단점
지연 로딩보다 긴 초기의 로딩 시간이 필요함
불필요한 데이터를 많이 로딩하면 성능에 영향을 줄 수 있음
다른 접근 방식보다 훨씬 적은 초기의 로딩 시간
다른 접근 방식에 비해 메모리 소비량 감소
지연 로딩(Lazy Loading) 단점
초기화가 지연되면 원하지 않는 순간 성능에 영향을 줄 수 있음
조회 시 1개의 쿼리를 생각하고 설계를 했으나 나오지 않아도 되는 조회의 쿼리가 N개가 더 발생하는 문제.
DBMS 툴을 이용해 직접 쿼리문을 만들어 조회할 때는 물론 하나의 쿼리가 발생하겠지만 mybatis, 넘어서는 JPA가 등장함에 따라 자동화된 쿼리문들이 생겨나면서 어쩔 수 없이 발생하는 문제입니다. JPA의 경우에는 객체에 대해서 조회한다고 해도 다양한 연관관계들의 매핑에 의해서 관계가 맺어진 다른 객체가 함께 조회되는 경우에 N+1이 발생하게 됩니다.
Spring Data JPA 즉시 로딩(Eager Loading) & 지연 로딩(Lazy Loading)
[JPA 모든 N+1 발생 케이스과 해결책](JPA 모든 N+1 발생 케이스과 해결책)