Skip to main content
이 설정은 system.settings에서 확인할 수 있으며, 소스 코드를 기반으로 자동 생성됩니다.

enable_adaptive_memory_spill_scheduler

프로세서가 데이터를 외부 스토리지로 적응적으로 spill하도록 트리거합니다. 현재는 grace join만 지원합니다.

enable_add_distinct_to_in_subqueries

IN 서브쿼리에서 DISTINCT를 활성화합니다. 이 설정은 절충이 필요한 설정입니다. 활성화하면 고유한 값만 전송되므로, 분산 IN 서브쿼리에 대해 전송되는 임시 테이블의 크기를 크게 줄이고 세그먼트 간 데이터 전송 속도도 크게 높일 수 있습니다. 다만 이 설정을 활성화하면 중복 제거(DISTINCT)를 수행해야 하므로 각 노드에서 추가 병합 작업이 발생합니다. 네트워크 전송이 병목이고 추가 병합 비용을 감수할 수 있다면 이 설정을 사용하십시오.

enable_automatic_decision_for_merging_across_partitions_for_final

설정된 경우, 파티션 키 표현식이 deterministic이고 파티션 키 표현식에 사용된 모든 컬럼이 프라이머리 키에 포함되면 ClickHouse가 이 최적화를 자동으로 활성화합니다. 이 자동 판별을 통해 동일한 기본 키 값을 가진 행은 항상 동일한 파티션에 속하게 되므로, 파티션 간 머지를 피해도 안전합니다.

enable_early_constant_folding

함수와 서브쿼리의 결과를 분석하고, 여기에 상수가 있으면 쿼리를 재작성하는 쿼리 최적화를 활성화합니다

enable_extended_results_for_datetime_functions

확장된 범위의 Date32 타입(Date 타입 대비) 또는 확장된 범위의 DateTime64 타입(DateTime 타입 대비) 결과를 반환하도록 설정하거나 해제합니다. Possible values:
  • 0 — 함수는 모든 인수 타입에 대해 Date 또는 DateTime을 반환합니다.
  • 1 — 함수는 Date32 또는 DateTime64 인수에 대해서는 Date32 또는 DateTime64를 반환하고, 그 외의 경우에는 Date 또는 DateTime을 반환합니다.
아래 표는 다양한 날짜-시간 함수에서 이 설정이 어떻게 동작하는지 보여줍니다.

enable_full_text_index

별칭: allow_experimental_full_text_index true로 설정하면 텍스트 인덱스 사용이 허용됩니다.

enable_global_with_statement

WITH 문을 UNION 쿼리와 모든 서브쿼리에 전파합니다

enable_hdfs_pread

HDFS 파일에 pread를 사용할지 설정합니다. 기본적으로 hdfsPread를 사용합니다. 비활성화하면 HDFS 파일을 읽을 때 hdfsReadhdfsSeek를 사용합니다.

enable_http_compression

HTTP 요청 응답에서 데이터 압축을 활성화하거나 비활성화합니다. 자세한 내용은 HTTP 인터페이스 설명을 참조하십시오. 가능한 값:
  • 0 — 비활성화됨.
  • 1 — 활성화됨.

enable_identifier_resolve_cache

쿼리 분석기에서 식별자 해석 캐시를 활성화합니다. 이 캐시는 해석된 별칭(alias) 노드를 공유하여 동일한 별칭이 여러 번 참조될 때 AST가 과도하게 증가하는 것을 방지합니다. 잘못된 결과가 의심되면 캐싱을 비활성화하려면 false로 설정하십시오.

enable_job_stack_trace

작업 실행 결과 예외가 발생하면 작업 생성자의 스택 트레이스를 출력합니다. 성능 오버헤드를 방지하기 위해 기본적으로 비활성화됩니다.

enable_lazy_columns_replication

JOIN 및 ARRAY JOIN에서 컬럼 지연 복제를 활성화합니다. 이를 통해 메모리에서 동일한 행을 여러 번 불필요하게 복사하지 않아도 됩니다.

enable_materialized_cte

구체화된 공통 테이블 표현식을 활성화합니다. 이 설정은 enable_global_with_statement보다 우선 적용됩니다.

enable_memory_bound_merging_of_aggregation_results

집계에 메모리 제한 기반 병합 전략을 사용합니다.

enable_multiple_prewhere_read_steps

WHERE의 더 많은 조건을 PREWHERE로 이동하고, AND로 결합된 여러 조건이 있으면 디스크 읽기와 필터링을 여러 단계에 걸쳐 수행합니다

enable_named_columns_in_function_tuple

모든 이름이 고유하고 따옴표 없이 식별자로 취급할 수 있는 경우 tuple() 함수에서 이름이 지정된 Tuple을 생성합니다.

enable_order_by_all

ORDER BY ALL 구문을 사용한 정렬 기능을 활성화하거나 비활성화합니다. 자세한 내용은 ORDER BY를 참조하십시오. 가능한 값:
  • 0 — ORDER BY ALL을 비활성화합니다.
  • 1 — ORDER BY ALL을 활성화합니다.
예시 쿼리:
결과:

enable_parallel_blocks_marshalling

분산 쿼리에만 적용됩니다. 활성화하면 블록은 initiator로 보내기 전후에 파이프라인 스레드에서 (역)직렬화 및 (역)압축됩니다(즉, 기본 설정보다 더 높은 병렬성으로 처리됩니다).

enable_parsing_to_custom_serialization

true인 경우, 테이블에서 가져온 직렬화 힌트에 따라 데이터를 사용자 지정 직렬화(예: Sparse)가 적용된 컬럼으로 직접 파싱할 수 있습니다.

enable_producing_buckets_out_of_order_in_aggregation

메모리 효율적인 집계(distributed_aggregation_memory_efficient 참고)에서 버킷이 순서와 다르게 생성되도록 허용합니다. 이 설정은 집계 버킷 크기가 치우쳐 있을 때, 레플리카가 id가 낮은 무거운 버킷 일부를 아직 처리하는 동안 id가 더 높은 버킷을 initiator로 전송할 수 있게 하여 성능을 향상시킬 수 있습니다. 단점은 메모리 사용량이 더 늘어날 수 있다는 점입니다.

enable_reads_from_query_cache

활성화되면 SELECT 쿼리의 결과를 쿼리 캐시에서 가져옵니다. 가능한 값:
  • 0 - 비활성화
  • 1 - 활성화

enable_s3_requests_logging

S3 request에 대한 매우 상세한 로깅을 활성화합니다. Debug 용도로만 사용하는 것이 좋습니다.

enable_scalar_subquery_optimization

true로 설정하면 스칼라 서브쿼리에서 큰 스칼라 값의 직렬화/역직렬화를 방지하고, 가능하면 동일한 서브쿼리를 두 번 이상 실행하지 않도록 합니다.

enable_scopes_for_with_statement

비활성화하면 상위 WITH 절의 선언은 현재 스코프에 선언된 것과 같은 스코프에서 동작합니다. 이는 이전 분석기가 실행할 수 있었던 일부 유효하지 않은 쿼리를 실행할 수 있도록 하기 위한 분석기의 compatibility 설정이라는 점에 유의하십시오.

enable_sharding_aggregator

그룹화 키를 해시하여 행을 여러 스레드에 분산하는 세그먼트 분할 GROUP BY 최적화를 활성화합니다. 이를 통해 각 스레드는 머지 단계 없이 서로 겹치지 않는 키 부분 집합을 집계합니다. 이 방식은 데이터가 고르게 분포된 카디널리티가 높은 키에서 효율적이지만, 키 분포가 심하게 치우쳐 있거나 서로 다른 키가 매우 적은 쿼리에서는 성능이 떨어질 수 있습니다. 가능한 값:
  • 0 — 세그먼트 분할 집계 최적화가 비활성화됩니다.
  • 1 — 세그먼트 분할 집계 최적화가 활성화됩니다.

enable_shared_storage_snapshot_in_query

활성화하면 단일 쿼리 내의 모든 서브쿼리가 각 테이블에 대해 동일한 StorageSnapshot을 공유합니다. 따라서 동일한 테이블에 여러 번 접근하더라도 쿼리 전체에서 일관된 데이터 뷰가 보장됩니다. 이는 데이터 파트(data part)의 내부 일관성이 중요한 쿼리에서 필요합니다. 예시:
이 설정이 없으면 외부 쿼리와 내부 쿼리가 서로 다른 데이터 스냅샷을 기준으로 처리될 수 있어, 잘못된 결과가 나올 수 있습니다.
이 설정을 활성화하면 계획 단계가 완료된 뒤 스냅샷에서 불필요한 데이터 파트를 제거하는 최적화가 비활성화됩니다. 따라서 장시간 실행되는 쿼리는 실행되는 내내 더 이상 사용되지 않는 파트를 붙잡고 있을 수 있으며, 이로 인해 파트 정리가 지연되고 스토리지 부담이 커질 수 있습니다.현재 이 설정은 MergeTree 엔진 계열의 테이블에만 적용됩니다.
가능한 값:
  • 0 - 비활성화됨
  • 1 - 활성화됨

enable_sharing_sets_for_mutations

IN 서브쿼리용으로 생성된 Set 객체를 동일한 뮤테이션의 여러 작업 간에 공유할 수 있도록 합니다. 이렇게 하면 메모리 사용량과 CPU 사용량을 줄일 수 있습니다.

enable_streaming_queries

SELECT ... FROM t STREAM [CURSOR '{...}'] 지속 쿼리를 허용합니다. 비활성화되면 STREAM 수정자를 사용하는 모든 테이블 표현식이 계획 생성 시점에 거부됩니다. 이는 streaming-queries 기능을 위한 상위 제어 설정이며, 추가 기능은 각자의 설정으로 별도로 제어될 수 있습니다.

enable_time_time64_type

별칭: allow_experimental_time_time64_type TimeTime64 데이터 타입을 생성할 수 있습니다.

enable_unaligned_array_join

크기가 서로 다른 여러 배열에 대해 ARRAY JOIN을 허용합니다. 이 설정을 활성화하면 배열 크기가 가장 긴 배열에 맞춰 조정됩니다.

enable_url_encoding

URL 엔진 테이블에서 URI 경로의 디코딩/인코딩을 활성화하거나 비활성화할 수 있습니다. 기본적으로 비활성화되어 있습니다.

enable_vertical_final

활성화하면 FINAL 중에 행을 병합하는 대신 행을 삭제된 것으로 표시한 뒤 나중에 필터링하여 중복 행을 제거합니다

enable_writes_to_query_cache

이 설정을 활성화하면 SELECT 쿼리의 결과가 쿼리 캐시에 저장됩니다. Possible values:
  • 0 - 비활성화됨
  • 1 - 활성화됨
마지막 수정일 2026년 7월 24일