메인 콘텐츠로 건너뛰기
explain() 메서드는 DataStore 쿼리의 실행 계획을 보여주며, 어떤 작업이 수행되고 어떤 SQL이 생성되는지 이해하는 데 도움이 됩니다.

기본 사용법

구문

매개변수:

출력 형식

표준 출력

아이콘 범례

Verbose 출력

Verbose 모드에서는 각 작업의 추가 정보와 함께, 내부 행 순서 추적 메커니즘이 포함된 전체 SQL 쿼리도 표시합니다.

세 가지 실행 단계

explain 출력은 작업이 세 단계에 걸쳐 진행됨을 보여줍니다:

단계 1: SQL 쿼리 생성(지연)

SQL로 컴파일되는 작업:

단계 2: 실행 시점

트리거가 발생하면:

단계 3: DataFrame 연산

실행 후 연산:

계획 이해하기

원본 정보

  • file() - ClickHouse file() 테이블 함수
  • 'CSVWithNames' - 헤더가 포함된 파일 포맷
기타 소스 유형:

필터 연산

적용되는 WHERE 절을 표시합니다.

GroupBy와 집계

GROUP BY에 사용된 컬럼과 집계 함수를 표시합니다.

정렬 연산

ORDER BY 절을 보여줍니다.

제한 연산

LIMIT과 OFFSET을 표시합니다.

엔진 정보

verbose 모드를 사용하면 어떤 엔진이 사용되는지 확인할 수 있습니다:

Pushdown

  • : 연산이 데이터 소스(SQL)에서 실행됩니다
  • 아니요: 연산을 pandas에서 실행해야 합니다

예시

간단한 쿼리

복합 집계

SQL과 pandas 혼용

연산을 SQL로 완전히 처리할 수 없는 경우, 계획에는 여러 세그먼트가 표시됩니다:

explain()으로 디버깅하기

필터 로직 확인하기

선택된 컬럼 확인

집계 이해하기


권장 사항

1. 대규모 쿼리 실행 전 확인

2. 디버깅 시 Verbose 사용

3. to_sql()과 비교

4. Pushdown 상태 확인

마지막 수정일 2026년 7월 2일