2023-08-29 TIL ( CS 공부 14일차 )

오준석·2023년 8월 29일
0

TIL (Today I Learned)

목록 보기
80/105

TIL

< Computer Science 14일차 >

ORM을 사용하면서 쿼리가 복잡해지는 경우에는 어떻게 해결하는게 좋은지

키워드: Raw SQLOptimizationQuery ProfilingDatabase IndexingEager LoadingBatch OperationsRefactor.

ORM으로 인해 쿼리가 복잡해지는 경우:

  1. 원시 SQL: 때로는 ORM의 추상화된 기능에만 의존하는 대신 원시 SQL 쿼리를 작성하는 것이 더 효율적입니다.
  2. 최적화: ORM 구성 및 규칙을 검토하고 최적화합니다.
  3. 쿼리 프로파일링: 도구를 사용하여 쿼리를 프로파일링하고 성능 병목 현상을 식별합니다.
  4. 데이터베이스 인덱싱: 쿼리 실행 속도를 높이기 위해 관련된 데이터베이스 테이블에 적절한 인덱싱이 있는지 확인합니다.
  5. Eager Loading: "N+1" 쿼리 문제가 발생할 수 있는 "지연 로딩" 대신 Eager Loading을 사용하여 더 적은 수의 쿼리로 관련 데이터를 가져옵니다.
  6. 일괄 작업: 여러 기록을 한 번에 처리하여 개별 거래 수를 줄입니다.
  7. 리팩터링: 복잡한 쿼리를 더 간단한 쿼리로 분해하거나 필요한 경우 스키마를 다시 설계합니다.

ORM은 편의성을 제공하고 개발 속도를 높일 수 있지만 종종 성능 비용이 발생합니다. ORM의 이점과 한계를 모두 이해하고 쿼리 성능을 정기적으로 모니터링하는 것이 중요하다.

profile
개발자를 목표로 열심히 하려고 합니다.

0개의 댓글