N+1 문제
-
N+1 문제 해결 및 인덱스를 활용한 쿼리 최적화Project Trouble Shooting/[EATceed] 몸무게 증량 어플 2024. 8. 12. 17:16
이번 포스팅에서는 EATceed를 개발하다가 발생한 N+1 문제를 Fetch Join으로 해결하고 이를 쿼리 분리를 통해 개선한 경험을 공유하고자 합니다.EATceed는 사용자의 식사를 바탕으로 체중 관리를 해주는 서비스로 주요 Entity로는 MemberEntity, MealEntity, FoodEntity가 있습니다. N+1 문제가 발생한 Entity들은 아래와 같습니다. MealEntity는 식사를 의미하는 Entity로 FoodEntity와 N : N 관계입니다. EATceed에서는 JPA를 사용하므로 가운데에 연결 테이블인 MealFoodEntity를 두었습니다.public class MealEntity { @Id @GeneratedValue(strategy = GenerationT..