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
enable_add_distinct_to_in_subqueries
IN 서브쿼리에서 DISTINCT를 활성화합니다. 이 설정은 절충이 필요한 설정입니다. 활성화하면 고유한 값만 전송되므로, 분산 IN 서브쿼리에 대해 전송되는 임시 테이블의 크기를 크게 줄이고 세그먼트 간 데이터 전송 속도도 크게 높일 수 있습니다.
다만 이 설정을 활성화하면 중복 제거(DISTINCT)를 수행해야 하므로 각 노드에서 추가 병합 작업이 발생합니다. 네트워크 전송이 병목이고 추가 병합 비용을 감수할 수 있다면 이 설정을 사용하십시오.
enable_automatic_decision_for_merging_across_partitions_for_final
enable_cascades_optimizer
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
enable_hdfs_pread
pread를 사용할지 설정합니다. 기본적으로 hdfsPread를 사용합니다. 비활성화하면 HDFS 파일을 읽을 때 hdfsRead와 hdfsSeek를 사용합니다.
enable_http_compression
- 0 — 비활성화됨.
- 1 — 활성화됨.
enable_identifier_resolve_cache
false로 설정하십시오.
enable_job_stack_trace
enable_json_ast_dialect
dialect 설정의 clickhouse_json 값을 활성화합니다.
dialect를 clickhouse_json으로 설정하면 쿼리는 SQL 텍스트 대신 JSON AST
(parseQueryToJSON의 출력)로 해석됩니다. 방언을 다시 전환할 수 있도록 SET 쿼리는
계속 일반 SQL로 파싱됩니다.
예시:
enable_lazy_columns_replication
JOIN, ARRAY JOIN 및 고차 함수(예: arrayMap)의 lambda 캡처에서 컬럼 지연 복제를 활성화합니다. 이를 통해 메모리에서 동일한 행을 여러 번 불필요하게 복사하지 않아도 됩니다.
enable_materialized_cte
enable_memory_bound_merging_of_aggregation_results
enable_multiple_prewhere_read_steps
enable_named_columns_in_function_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
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
enable_scalar_subquery_optimization
enable_scopes_for_with_statement
enable_sharding_aggregator
GROUP BY 최적화를 활성화합니다. 이를 통해 각 스레드는 머지 단계 없이 서로 겹치지 않는 키 부분 집합을 집계합니다.
이 방식은 데이터가 고르게 분포된 카디널리티가 높은 키에서 효율적이지만, 키 분포가 심하게 치우쳐 있거나 서로 다른 키가 매우 적은 쿼리에서는 성능이 떨어질 수 있습니다.
가능한 값:
- 0 — 세그먼트 분할 집계 최적화가 비활성화됩니다.
- 1 — 세그먼트 분할 집계 최적화가 활성화됩니다.
- 0 - 비활성화됨
- 1 - 활성화됨
enable_sharing_sets_for_mutations
enable_streaming_queries
SELECT ... FROM t STREAM [CURSOR '{...}'] 지속 쿼리를 허용합니다.
비활성화되면 STREAM 수정자를 사용하는 모든 테이블 표현식이
계획 생성 시점에 거부됩니다. 이는 streaming-queries
기능을 위한 상위 제어 설정이며, 추가 기능은 각자의 설정으로
별도로 제어될 수 있습니다.
enable_time_time64_type
allow_experimental_time_time64_type
Time 및 Time64 데이터 타입을 생성할 수 있습니다.
enable_unaligned_array_join
enable_url_encoding
enable_vertical_final
enable_writes_to_query_cache
SELECT 쿼리의 결과가 쿼리 캐시에 저장됩니다.
Possible values:
- 0 - 비활성화됨
- 1 - 활성화됨