개발일기/CS(면접)
ORM을 사용하면서 쿼리가 복잡해지는 경우 해결방법은?
w.llama
2024. 7. 16. 21:02
ORM을 사용하면서 쿼리가 복잡해지는 경우 해결방법은?
- 로우 쿼리 사용
- 복잡한 쿼리의 경우, ORM을 통한 처리보다 직접 SQL문을 작성하는것이 성능적으로 더 효율적일 수 있다. - ORM의 Query Builder 활용
- 대부분의 ORM은 Query Builder를 제공하여 SQL 쿼리를 동적으로 작성할 수 있는 기능을 제공한다. 이를 통해 복잡한 쿼리를 보다 유연하게 구성가능 - 쿼리 최적화
-ORM으로 생성된 쿼리를 분석하고, 불필요한 조인이나 서브쿼리를 제거하며, 인덱스를 활용하는 등의 최적화 작업을 수행한다. - 캐싱
- 자주 사용되는 데이터나 쿼리 결과를 캐시에 저장하여 빠르게 접근할 수 있도록 한다 - N+1 쿼리 문제 해결
- 즉시 /지연 로딩을 적절히 사용하여 연관 관계에서 발생하는 N+1 쿼리 문제를 해결한다. - 프로젝션 사용
- 필요한 필드만 선택하여 데이터를 조회하는 프로젝션 기능을 활용하여 데이터 전송량을 줄인다. - 페이지네이션
- 한번에 많은 양의 데이터를 불러오는 대신, 필요한 만큼 데이터를 불러오도록 페이지네이션을 사용 - 배치 처리
- 여러 개의 데이터베이스 작업을 한번에 처리하여 네트워크 오버헤드를 줄인다.