optimize_rewrite_* 세션 설정
optimize_rewrite_* 세션 설정
이 페이지에서는 표현식을 더 간단하고 효율적인 형태로 재작성하는 optimize_rewrite_* 세션 설정들을 다뤄요. 집계 함수, 배열 함수, LIKE, 정규식 관련 함수를 보다 효율적인 동등 형태로 바꿔 성능을 개선해요. 이 설정들은 system.settings 테이블에서 확인할 수 있으며 ClickHouse 소스에서 자동 생성돼요.
출처: 문서
본문
이 설정들은 system.settings에서 확인할 수 있으며 소스에서 자동 생성돼요.
optimize_rewrite_aggregate_function_with_if
논리적으로 동등할 때 if 표현식을 인자로 가지는 집계 함수를 재작성해요.
예를 들어 avg(if(cond, col, null))은 avgOrNullIf(cond, col)로 재작성될 수 있어요. 성능이 향상될 수 있어요.
optimize_rewrite_array_exists_to_has
논리적으로 동등할 때 arrayExists() 함수를 has()로 재작성해요. 예를 들어 arrayExists(x -> x = 1, arr)는 has(arr, 1)로 재작성될 수 있어요.
optimize_rewrite_has_to_in
첫 번째 인자가 상수 배열일 때 has 함수를 IN으로 재작성해요. 예를 들어 has([1, 2, 3], x)는 상수 배열에 대한 더 나은 성능을 위해 x IN [1, 2, 3]으로 재작성될 수 있어요.
optimize_rewrite_like_perfect_affix
완벽한 접두사 또는 접미사가 있는 LIKE 표현식(예: col LIKE 'ClickHouse%')을 startsWith 또는 endsWith 함수(예: startsWith(col, 'ClickHouse'))로 재작성해요.
optimize_rewrite_regexp_functions
정규식 관련 함수를 더 간단하고 효율적인 형태로 재작성해요.
optimize_rewrite_sum_if_to_count_if
논리적으로 동등할 때 sumIf()와 sum(if()) 함수를 countIf() 함수로 재작성해요.