320x100
320x100

N+1 Query Problem

- 쿼리 한번으로 N건의 데이터를 가져왔는데 관련 속성(Column)을 얻디 위해 쿼리를 N번 추가 수행하는 문제

 : 쿼리결과 건수마다 참조 정보를 얻기 위해 건수만큼 반복해서 쿼리를 수행하게 되는 문제

 ㆍDB 쿼리 수행 비용의 증가로 인한 성능저하 

 

- 원인

 : 두개의 Entity(개체)가 1:N 관계를 가지며 JPQL로 객체를 조회할때 발생

※ 1대N 관계

 = 하나의 개체가 여러개의 개체를 참조하는 관계

 

- 해결법

 : eager 조회 

 : lazy 조회 

 : Fetch Join

 

 

 

 

 

참고

데이터베이스의 관계

- 1:1 관계

 : 어느 개체가 하나의 개체를 참조하는 관계

 

- 1:N 관계

 : 어느 개체가 여러개의 개체를 참조하는 관계

 

- N:M 관계

 : 관계를 가진 양쪽 개체가 서로에 대해 1:N 관계를 가질 때

 

=> 대표키, 외래키 참조

 

 

 

 

 

Refference

 

N+1 쿼리 문제 - 제타위키

다음 문자열 포함...

zetawiki.com

 

300x250
728x90