[Spring] 지연 로딩(Lazy Loading)

kang·2024년 9월 6일

SPRING

목록 보기
16/22

개념
지연 로딩(Lazy Loading)은 객체나 데이터를 실제로 필요할 때까지 로드하지 않고, 그때가 되어서야 메모리에 로드하는 기법이다. 즉, 불필요한 데이터 로딩을 미리 하지 않음으로써 성능 최적화를 꾀할 수 있다.

장점

초기 로딩 시간 감소: 처음부터 모든 데이터를 로드하는 대신 필요한 시점에만 로드하므로 어플리케이션의 초기 로딩 시간을 줄일 수 있다.
메모리 사용 효율성 증가: 실제로 사용되지 않는 데이터는 메모리에 적재되지 않아 메모리 효율을 높일 수 있다.
적용 사례

데이터베이스에서 대규모 데이터를 다룰 때, 관계형 데이터에서 지연 로딩을 통해 불필요한 데이터 호출을 피할 수 있다.
웹페이지에서 이미지나 비디오와 같은 리소스를 화면에 보여줄 시점에만 로드하는 방식으로 사용자 경험을 향상시킬 수 있다.
오늘 학습한 내용
오늘은 프로젝트에서 대용량 데이터를 처리하는 중 성능 문제가 발생했는데, 이를 지연 로딩을 통해 해결할 수 있었다. 처음에는 모든 데이터를 한 번에 로딩하던 구조였지만, 이를 필요한 시점에 로딩하도록 변경한 후 초기 로딩 시간이 크게 감소했다. 이를 위해 데이터베이스 쿼리에 지연 로딩 옵션을 추가하고, 불필요한 데이터 호출을 막는 방법을 배웠다.

느낀 점
지연 로딩은 성능 최적화에 매우 유용한 기법이다. 특히 대용량 데이터를 다루는 경우, 모든 데이터를 처음부터 불러오는 것은 비효율적일 수 있는데, 지연 로딩을 통해 불필요한 리소스 사용을 줄일 수 있었다. 다만, 적재 시점에 따라 성능 이슈가 발생할 수 있으므로 상황에 맞게 사용해야 한다는 점을 알게 되었다.

profile
뉴비 개발 공부중

0개의 댓글