[기술면접] 쿼리 최적화

김주희·2023년 9월 13일

내배캠 18주차 TIL

목록 보기
3/5

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

  • 데이터베이스 시스템에서 쿼리(데이터베이스에서 정보를 검색, 조작하거나 분석하는 명령어)를 가장 효율적으로 실행하기 위해 실행 계획을 최적화하는 프로세스.

쿼리 평가 계획 작성

  • 데이터베이스 시스템은 쿼리를 평가하기 위한 여러 실행 계획을 생성합니다. 각 계획은 쿼리를 실행하는 다른 방법을 나타낸다.

비용 기반 최적화

  • 각 실행 계획에 대한 예상 비용을 계산하고, 가장 저렴한 계획을 선택한다. 비용은 실행 시간, CPU 사용량, 입출력 등과 관련된 여러 요소를 고려한다.

인덱스 사용

  • 적절한 인덱스를 활용하여 데이터 접근을 최적화한다. 인덱스는 특정 열에 대한 빠른 검색을 지원하므로, 쿼리의 WHERE 절 조건에 인덱스를 활용할 수 있는지 고려한다.

조인 최적화

  • 조인 연산을 최적화하여 불필요한 조인을 피하고, 조인 순서를 조정하여 성능을 향상시킨다.

부분 결과 최적화

중간 결과 집합을 최소화하기 위해 집계 함수나 필터링을 조건절 앞으로 이동하거나 조건을 최적화한다.

쿼리 캐싱

  • 이전에 실행한 쿼리의 결과를 캐시하여 동일한 쿼리를 다시 실행하지 않고 캐시된 결과를 반환하는 방법을 사용한다.

통계 정보 사용

  • 데이터베이스의 통계 정보를 활용하여 쿼리 최적화 결정에 도움을 준다. 이를 통해 올바른 인덱스 선택과 조인 순서 등이 결정된다.

하드웨어 및 시스템 리소스 고려

  • 시스템의 하드웨어 및 리소스 제약 사항을 고려하여 최적화를 수행한다.

동적 최적화

  • 실행 중인 쿼리의 성능을 실시간으로 모니터링하고, 최적화 결정을 동적으로 조정한다.
profile
꾸준히 하자

0개의 댓글