Association1 [이슈 #8] 1:N:M 관계 INSERT 시 N + M번의 쿼리 발생을 리팩토링하기 개요 DelFood의 주문 로직을 작성하던 도중 발생하는 1 : N : M의 쿼리 이슈를 해결해 보려고 합니다. 주문 진행 로직 고객이 메뉴를 선택합니다. 해당 메뉴에 대한 옵션을 선택합니다. 여러 메뉴를 선택한 고객이 주문을 진행합니다 이 과정에서 주문 - 주문 메뉴 - 주문 메뉴 옵션은 1 : N : M의 관계를 가집니다. 이 관계를 다중 for문을 돌며 쿼리를 호출하게 된다면 많은 DB요청이 발생하게 됩니다. 처음 만든 다중 for문을 단 3번의 insert문을 호출하는 것으로 변경해보겠습니다. 개선 방향 1. 데이터베이스 스키마상 문제가 있는 테이블을 수정할 것입니다. 관계가 있는 테이블 입력 시 (주문메뉴 - 주문메뉴 옵션) 해당 부모 데이터의 PK가 필요합니다. 하지만 변경 전 DB 테이블은 .. 2019. 12. 18. 이전 1 다음