개요
성능 모드에서 비활성화되는 항목
성능 모드 활성화
구성 객체 사용하기
모듈 수준의 함수 사용하기
편의 import 사용하기
성능 모드를 사용하면 실행 엔진이 자동으로
chdb로 설정되므로 config.use_chdb()를 별도로 호출할 필요가 없습니다.성능 모드를 사용해야 하는 경우
- 대규모 데이터셋을 처리하는 경우(수십만~수백만 개의 행)
- 집계 비중이 큰 워크로드를 실행하는 경우(groupby, sum, mean, count)
- 행 순서가 중요하지 않은 경우(예: 집계된 결과, 보고서, 대시보드)
- SQL 처리량을 최대화하고 오버헤드를 최소화하려는 경우
- 메모리 사용량이 우려되는 경우(병렬 Parquet 읽기, 중간 DataFrame 없음)
- pandas의 동작을 정확히 따라야 하는 경우(행 순서, MultiIndex, dtypes)
first()/last()가 실제 첫 번째/마지막 행을 반환해야 하는 경우- 행 순서에 의존하는
shift(),diff(),cumsum()를 사용하는 경우 - DataStore 출력과 pandas를 비교하는 테스트를 작성하는 경우
동작 차이점
행 순서
- 필터 결과
- GroupBy 집계 결과
- 명시적인
sort_values()없이 사용하는head()/tail() first()/last()집계
sort_values()를 추가하십시오:
GroupBy 결과
집계
단일 SQL 실행
ColumnExpr groupby 집계(예: ds[condition].groupby('col')['val'].sum())가 pandas 모드의 2단계 처리 방식 대신 하나의 SQL 쿼리로 실행됩니다:
실행 엔진과의 비교
compat_mode)와 실행 엔진(execution_engine)은 서로 독립적인 구성 요소입니다:
성능 모드는 SQL 실행용으로 설계되었으므로,
compat_mode='performance'로 설정하면 execution_engine='chdb'도 자동으로 설정됩니다.
성능 모드로 테스트하기
정렬한 뒤 비교(집계, 필터)
값 범위 점검(처음/마지막)
스키마 및 개수(ORDER BY 없는 LIMIT)
권장 사항
1. 스크립트 초반에 활성화하세요
2. 순서가 중요한 경우 명시적으로 정렬하세요
3. 배치/ETL 워크로드에 활용
4. 세션 내에서 모드 전환하기
- 실행 엔진 — 엔진 선택(auto/chdb/pandas)
- 성능 가이드 — 전반적인 최적화 팁
- pandas와의 주요 차이점 — 동작상의 차이점