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
300x250
728x90
'Database > Database' 카테고리의 다른 글
[백엔드 개발자 로드맵 2020] DATABASE - 인덱스 구조 (Index Structures) (0) | 2021.02.07 |
---|---|
[백엔드 개발자 로드맵 2020] DATABASE - 정규형 (0) | 2021.02.07 |
[백엔드 개발자 로드맵 2020] DATABASE - 트랜잭션과 ACID (0) | 2021.02.07 |
[백엔드 개발자 로드맵 2020] DATABASE - ORM (Object Relational Mapping) (0) | 2021.02.07 |
[백엔드 개발자 로드맵 2020] 데이터베이스의 종류 (Database) (0) | 2021.02.06 |