ORM을 사용하면서 쿼리가 복잡해지는 경우 해결방법은?
- 로우 쿼리 사용
- 복잡한 쿼리의 경우, ORM을 통한 처리보다 직접 SQL문을 작성하는것이 성능적으로 더 효율적일 수 있다. - ORM의 Query Builder 활용
- 대부분의 ORM은 Query Builder를 제공하여 SQL 쿼리를 동적으로 작성할 수 있는 기능을 제공한다. 이를 통해 복잡한 쿼리를 보다 유연하게 구성가능 - 쿼리 최적화
-ORM으로 생성된 쿼리를 분석하고, 불필요한 조인이나 서브쿼리를 제거하며, 인덱스를 활용하는 등의 최적화 작업을 수행한다. - 캐싱
- 자주 사용되는 데이터나 쿼리 결과를 캐시에 저장하여 빠르게 접근할 수 있도록 한다 - N+1 쿼리 문제 해결
- 즉시 /지연 로딩을 적절히 사용하여 연관 관계에서 발생하는 N+1 쿼리 문제를 해결한다. - 프로젝션 사용
- 필요한 필드만 선택하여 데이터를 조회하는 프로젝션 기능을 활용하여 데이터 전송량을 줄인다. - 페이지네이션
- 한번에 많은 양의 데이터를 불러오는 대신, 필요한 만큼 데이터를 불러오도록 페이지네이션을 사용 - 배치 처리
- 여러 개의 데이터베이스 작업을 한번에 처리하여 네트워크 오버헤드를 줄인다.
'개발일기 > CS(면접)' 카테고리의 다른 글
HTTP 메서드란? // CORS 란? (0) | 2024.07.22 |
---|---|
RDBMS의 정규화란? (0) | 2024.07.19 |
NoSQL 과 RDBMS 의 특징과 차이점은? (0) | 2024.07.18 |
MVC 패턴이란? (0) | 2024.07.17 |
Primary Key, Foreign Key에 대해 설명해라 (0) | 2024.07.15 |