술어 표현식 최적화 관련 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
최종 서브쿼리에 술어 푸시를 허용해요.