API 개발 고급 소개

API 개발 고급

  • 조회용 샘플 데이터 입 데이터 조회가 성능에 영향을 주는 요소다! 조회 API에서 어떻게 설계하고, 성능 최적화하는지 방법을 다룬다!

  • 지연 로딩과 조회 성능 최적 JPA 쓰면서 N+1 문제를 한번 쯤은 직면하게 된다! N+1 문제 예방 방법

  • 컬렉션 조회 최적화 일대일, 다대일 관계에서 join을 했는데 DB에 데이터가 안 들어간 경우는 join을 해도 성능 이슈가 잘 없다. DB 관점에서 일대다 관계에서 join을 하면 데이터가 뻥튀기(?)되면서 데이터가 늘어난다!

  • 페이징과 한계 돌파 일대다 관계에서 join하면 데이터 뻥튀기 되면서 제대로 페이징하기 힘들다! 예를 들어 회원(일) 주문(다) 관계에서 join하면 회원을 기준으로 페이징하고 싶은데 회원이 1명이고, 주문이 2개이면 데이터가 2배로 증가되버린다! 페이징이 어려워진다.

  • OSIV와 성능 최적화 : Open Session In View OSIV를 사용하면 지연로딩 문제없이 잘 되는데 OSIV를 사용하지 않으면 지연로딩 익셉션 자주 발생한다. 상황별로 OSIV 사용법 알아본다.

Last updated