25. 쿼리 최적화에 대해 설명해주시고 방법에 대해 설명해주세요.
- 서버처리시간의 대부분이 SQL을 처리하는 시간에 들어간다. 이 조회 성능을 개선하기 위해 데이터베이스 시스템에서 사용자의 쿼리를 가장 효율적으로 싱행하기 위해 실행 계획을 최적화하는 프로세스 입니다.
- 쿼리 최적화는 데이터베이스 엔진이 쿼리를 처리할 때 성능을 향상시키고 시스템 부하를 최소화하기 위해 중요한 역할을 합니다.
- 개선 대상을 파악합니다. 문제가 되는 조회 쿼리를 확인하고 실행 계획을 확인합니다.
- 통계정보를 이용하여 쿼리 실행 계획을 결정합니다. 테이블 통계 정보를 정기적으로 업데이트하여 최신 정보를 유지하고, 데이터 분포를 고려하여 최적의 실행 계획을 선택합니다.
- 인덱스나 조인 순서를 변경하는 등의 작업을 통해 쿼리를 튜닝합니다. 또한 필요한 컬럼만 선택하고, 조인 조건을 명확하게 정의하며, 필요한 경우 서브쿼리를 최소화 합니다.
- 쿼리 결과를 캐시에 저장하여 동일한 쿼리가 발생할 때 DB에 직접 접근하지 않고 캐시에서 결과를 가져오도록 수정합니다.
- 마지막으로 데이터베이스 서버의 하드웨어 및 설정을 조정하여 성능을 최적화 하는 방법이 있습니다. 메모리 할당, cpu설정, 저장소 구성 등을 검토하여 최적의 성능을 얻을 수 있습니다.
26. DB 로직 최소화를 하려면 어떻게 해야 할까요?
'기술면접' 카테고리의 다른 글
[기술 면접] 240202 AWS S3, EC2, 정렬 알고리즘 (2) | 2024.02.02 |
---|---|
[기술면접] 240124 테스코드 설명, Array, LinkedList (1) | 2024.01.24 |
[기술면접] 240117 세션기반 인증과 토큰기반 인증, JWT, Refresh, Access Token (0) | 2024.01.17 |
[기술면접] 240116 GET, POST의 개념과 데이터 흐름, OSI 7계층 (0) | 2024.01.16 |
[기술면접] 240115 대용량 트래픽, ORM 쿼리가 복잡해지는 경우 (0) | 2024.01.15 |