Explain Plan

Explain Plan (Single-Stage)

쿼리에 대한 Pinot의 실행 계획을 검사하는 방법이에요.

출처: 문서

본문

쿼리를 조정하기 전이나 조정하는 동안 Pinot가 어떻게 쿼리를 실행할지 이해하고 싶을 때 EXPLAIN PLAN FOR를 사용해요.

무엇을 알려주나? (What it tells you)

Explain plan 출력으로 다음을 확인할 수 있어요.

  • Pinot가 실행할 연산자
  • 인덱스가 사용되는지 여부
  • 필터, 프로젝션, 집계가 어디서 일어나는지
  • 쿼리가 single-stage 또는 multi-stage 실행에서 어떻게 형성되는지
EXPLAIN PLAN FOR
SELECT city, COUNT(*)
FROM stores
GROUP BY city;

Single-stage와 multi-stage

Single-stage explain plan은 단순한 쿼리 뒤의 연산자 흐름을 이해하는 데 가장 좋아요.

Multi-stage explain plan은 조인, 서브쿼리, 분산 실행 형태를 검사해야 할 때 더 좋아요.

사용 방법 (How to use it)

쿼리가 다음과 같은 경우 explain plan부터 시작해요.

  • 예상보다 느린 경우
  • 기대했던 인덱스를 사용하지 않는 경우
  • 이해하기 어려운 형태를 반환하는 경우

그다음 수정이 필요하다면 계획을 쿼리 옵션 또는 인덱스 지침과 짝지어 사용해요.

이 페이지가 다룬 내용

이 페이지는 explain plan이 무엇을 보여주는지, 언제 사용하는지, single-stage와 multi-stage 엔진이 어떻게 다른지 다뤘어요.

다음 단계

더 깊은 실행 형태 논의가 필요하다면 SQL syntax를 읽고, 문제가 문법이 아니라 런타임 제어라면 쿼리 옵션이나 할당량을 다시 살펴보세요.

관련 페이지

더 알아보기 (Learn more)