본문으로 건너뛰기

EXPLAIN

EXPLAIN

  • 쿼리가 어떻게 실행될지에 대한 정보, 논리적 실행 계획이나 분산 실행 계획을 보여줍니다.
  • 실제로 쿼리를 실행하지 않아 데이터 스캔이 발생하지 않습니다.

개요

EXPLAIN [ ( option [, ...] ) ] statement

//option으로 다음을 사용할 수 있습니다.
FORMAT { TEXT | GRAPHVIZ | JSON }
TYPE { LOGICAL | DISTRIBUTED | VALIDATE | IO }

파라미터

FORMAT { TEXT | GRAPHVIZ | JSON }
  • 출력 형식을 TEXT, GRAPHVIZ 또는 JSON 형태로 지정합니다. 기본값은 TEXT입니다.
TYPE { LOGICAL | DISTRIBUTED | VALIDATE | IO }
  • LOGICAL: 논리적 실행 계획을 제공합니다.
  • DISTRIBUTED: 분산 실행 계획을 제공합니다.
  • IO: 쿼리가 읽는 테이블 및 스키마에 대한 정보를 추가로 제공합니다. 이 결과는 JSON 형태로만 출력합니다.
사용 예시
EXPLAIN 구문 Example
EXPLAIN (TYPE LOGICAL, FORMAT JSON) SELECT regionkey, count(*) FROM nation GROUP BY 1;

EXPLAIN ANALYZE

  • 쿼리를 실행하고 분산 실행 계획과 작업 비용을 보여줍니다.
  • 쿼리를 실제로 실행하므로 데이터 스캔이 발생하며, 실행된 쿼리에 따라서 빠른 시간 내에 끝나지 않을 수 있습니다.

개요

EXPLAIN ANALYZE [VERBOSE] statement

파라미터

VERBOSE
  • verbose를 사용하면 더 많은 세부 정보와 저수준의 통계를 제공합니다. 통계는 정확하지 않을 수 있습니다.
사용 예시
EXPLAIN ANALYZE 구문 Example
EXPLAIN ANALYZE VERBOSE SELECT count(clerk) OVER() FROM orders
WHERE orderdate > date '1995-01-01';