서버의 개발에 있어서, 대부분의 에러와 성능 ISSUE는 DB에서 만들어 진다.
특히, 서버를 개발할 때 DB를 최적화하는 과정(DB 튜닝)을 거치지 않으면, 엄~~~청난 성능 차이를 보이게 되므로
필수이다.
DB 최적화 중에서도, [저장],[삭제],[수정] 부분에서는 최적화 과정의 유무에 상관없이 성능에 별 차이가 존재하지 않는다.
그러나 문제는 바로 [조회] 기능이다.
1] 페이징 과정에서 생기는 엄청난 DB 연산
2] 컬렉션 조회 최적화 문제
3] 지연 로딩,즉시 로딩에서 생기는 N + 1 문제
등등, [조회]에서는 DB가 JOIN 연산을 주로 하기에 성능 ISSUE가 많이 생긴다.
( API 사용자들이 주로 [조회]를 많이 하기 때문에 생기기 때문에 성능 ISSUE가 생기는 부분도 크다 )
[Spring, JPA 사용]을 하면서 복잡한 API를 개발할 때 생기는 DB 성능 ISSUE에 대해서 반드시 성능 최적화를 해야 한다.
( jpa 활용 2 자료 참조 )
'CS 잡지식' 카테고리의 다른 글
[양방향] 설정으로 인해 발생할 수 있는 치명적인 JPA 버그(매우 매우 중요) (0) | 2023.05.03 |
---|---|
DB 설계 시, 다중성 설정이 헷갈릴 때의 tip!! (2) | 2023.05.03 |
Rest API 개발 시, List<E> 등의 [컬렉션]을 [직접] 반환하지 말 것! (0) | 2023.05.03 |
CQS(Command Query Separation) Policy (0) | 2023.05.03 |
@AllArgsConstructor과 @RequiredConstructor의 차이 (2) | 2023.05.03 |