술어 표현식 최적화 관련 enable 설정

술어 표현식 최적화 관련 enable 설정

SELECT 쿼리에서 술어 푸시다운(predicate pushdown)을 켜고 끄는 설정을 소개해요. 분산 쿼리의 네트워크 트래픽을 크게 줄일 수 있고, 서브쿼리 처리 방식에도 영향을 줘요. 이 설정들은 system.settings 테이블에서 확인할 수 있고 소스 코드에서 자동 생성된 값들이에요.

출처: 문서

본문

이 설정들은 system.settings에서 확인할 수 있고, 소스 코드에서 자동 생성된 값들이에요.

enable_optimize_predicate_expression

SELECT 쿼리에서 술어 푸시다운을 켜요.

술어 푸시다운은 분산 쿼리의 네트워크 트래픽을 크게 줄여줄 수 있어요.

가능한 값:

  • 0 — 비활성화.
  • 1 — 활성화.

사용법

다음 쿼리들을 생각해 보세요:

SELECT count() FROM test_table WHERE date = '2018-10-10'
SELECT count() FROM (SELECT * FROM test_table) WHERE date = '2018-10-10'

enable_optimize_predicate_expression = 1이면 ClickHouse가 서브쿼리를 처리할 때 WHERE를 서브쿼리에 적용하므로 두 쿼리의 실행 시간이 같아져요.

enable_optimize_predicate_expression = 0이면 WHERE 절이 서브쿼리 완료 후 모든 데이터에 적용되므로 두 번째 쿼리의 실행 시간이 훨씬 길어져요.

enable_optimize_predicate_expression_to_final_subquery

최종 서브쿼리에 술어 푸시를 허용해요.

더 알아보기 (Learn more)