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

enable_adaptive_aggregator

적응형 GROUP BY 알고리즘을 활성화합니다. 각 스레드는 adaptive_aggregator_freeze_threshold개의 키에 도달할 때까지 로컬 해시 테이블에서 집계한 후 테이블을 고정합니다. 그러면 이미 확인된(빈번한) 키의 행은 해당 테이블에서 계속 갱신되고, 새로운(드문) 키는 해시에 따라 버킷별 백로그로 전달되어 버킷 병렬 머지 내에서 정확히 한 번 집계됩니다. 빈번한 키는 캐시에 상주하는 작은 테이블에 유지되며, 드문 키는 스레드마다 한 번씩이 아니라 한 번만 저장하고 처리합니다. 외부 집계 설정(max_bytes_before_external_group_by, max_bytes_ratio_before_external_group_by)도 적용됩니다. 임계값을 초과하면 백로그를 공유 테이블로 조기에 비우며, 그래도 임계값 아래로 내려가지 않으면 일반 외부 집계를 통해 공유 테이블을 디스크에 스필합니다.

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_cascades_optimizer

분산 쿼리 계획에 Cascades 비용 기반 최적화기를 활성화합니다. make_distributed_plan = 1과 함께 설정한 경우에만 적용됩니다. 이 설정만으로는 단일 노드 쿼리 계획이 변경되지 않습니다.

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_json_ast_dialect

dialect 설정의 clickhouse_json 값을 활성화합니다. dialectclickhouse_json으로 설정하면 쿼리는 SQL 텍스트 대신 JSON AST (parseQueryToJSON의 출력)로 해석됩니다. 방언을 다시 전환할 수 있도록 SET 쿼리는 계속 일반 SQL로 파싱됩니다. 예시:

enable_lazy_columns_replication

JOIN, ARRAY JOIN 및 고차 함수(예: arrayMap)의 lambda 캡처에서 컬럼 지연 복제를 활성화합니다. 이를 통해 메모리에서 동일한 행을 여러 번 불필요하게 복사하지 않아도 됩니다.

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_packed_string_keys_in_aggregation

널을 허용하지 않는 단일 String 키를 사용하는 GROUP BY에 16바이트 패킹 문자열 참조(PackedStringRef)를 키로 하는 해시 테이블을 사용합니다. 최대 11바이트의 키는 패킹된 참조에 인라인으로 저장되며, 더 긴 키는 arena에 대한 참조로 저장됩니다. 대부분의 워크로드에서 더 빠르지만, 11바이트보다 긴 고유 키가 매우 적은 GROUP BY에서는 레거시 메서드보다 느릴 수 있습니다. 특히 키 길이가 12..24바이트일 때 두드러집니다. 레거시 해시 테이블은 키를 셀에 인라인으로 유지하는 반면, 패킹된 해시 테이블은 매 탐색마다 arena 포인터를 역참조하기 때문입니다. 비활성화하면 레거시 StringHashTable 기반 메서드(26.8 이전의 기본값)를 사용합니다. 분산 쿼리에 참여하는 모든 서버는 이 값이 일치해야 합니다. distributed_aggregation_memory_efficient를 사용하면 2단계 버킷 번호는 키 해시에 따라 달라지며, 이 해시는 두 메서드에서 서로 다릅니다. 따라서 이 설정이 서로 다른 서버는 동일한 키를 서로 다른 버킷으로 분할해 잘못 머지된 결과를 생성할 수 있습니다. 값의 일치를 보장하기 위해 시작 노드는 서버 또는 프로필 기본값에서만 가져온 경우에도 보조 쿼리와 함께 유효 값을 항상 전송하여 원격 서버의 기본값을 재정의합니다.

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)의 내부 일관성이 중요한 쿼리에서 필요합니다. 예시:
이 설정이 없으면 외부 쿼리와 내부 쿼리가 서로 다른 데이터 스냅샷을 기준으로 처리될 수 있어, 잘못된 결과가 나올 수 있습니다. 가능한 값:
  • 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년 8월 18일