본문 바로가기
기술면접

[기술면접] 230123 쿼리 최적화, DB 로직 최소화

by studymode 2024. 1. 23.

25. 쿼리 최적화에 대해 설명해주시고 방법에 대해 설명해주세요.

  • 서버처리시간의 대부분이 SQL을 처리하는 시간에 들어간다. 이 조회 성능을 개선하기 위해 데이터베이스 시스템에서 사용자의 쿼리를 가장 효율적으로 싱행하기 위해 실행 계획을 최적화하는 프로세스 입니다. 
  • 쿼리 최적화는 데이터베이스 엔진이 쿼리를 처리할 때 성능을 향상시키고 시스템 부하를 최소화하기 위해 중요한 역할을 합니다.

 

  • 개선 대상을 파악합니다. 문제가 되는 조회 쿼리를 확인하고 실행 계획을 확인합니다. 
  • 통계정보를 이용하여 쿼리 실행 계획을 결정합니다. 테이블 통계 정보를 정기적으로 업데이트하여 최신 정보를 유지하고, 데이터 분포를 고려하여 최적의 실행 계획을 선택합니다. 
  • 인덱스나 조인 순서를 변경하는 등의 작업을 통해 쿼리를 튜닝합니다. 또한 필요한 컬럼만 선택하고, 조인 조건을 명확하게 정의하며, 필요한 경우 서브쿼리를 최소화 합니다.
  • 쿼리 결과를 캐시에 저장하여 동일한 쿼리가 발생할 때 DB에 직접 접근하지 않고 캐시에서 결과를 가져오도록 수정합니다.
  • 마지막으로 데이터베이스 서버의 하드웨어 및 설정을 조정하여 성능을 최적화 하는 방법이 있습니다. 메모리 할당, cpu설정, 저장소 구성 등을 검토하여 최적의 성능을 얻을 수 있습니다. 

 

 

26. DB 로직 최소화를 하려면 어떻게 해야 할까요?