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

use_async_executor_for_materialized_views

materialized view 쿼리를 async 방식으로, 필요에 따라 멀티스레드로 실행합니다. INSERT 중 materialized view 처리 속도를 높일 수 있지만, 메모리를 더 많이 사용할 수도 있습니다.

use_cache_for_count_from_files

테이블 함수 file/s3/url/hdfs/azureBlobStorage에서 파일의 count를 수행할 때 행 수 캐싱을 활성화합니다. 기본적으로 활성화되어 있습니다.

use_client_time_zone

서버 시간대를 적용하는 대신, DateTime 문자열 값을 해석할 때 클라이언트 시간대를 사용합니다.

use_compact_format_in_distributed_parts_names

Distributed 엔진 테이블에 대한 백그라운드(distributed_foreground_insert) INSERT에서 블록을 저장할 때 compact 포맷을 사용합니다. 가능한 값:
  • 0 — user[:password]@host:port#default_database 디렉터리 포맷을 사용합니다.
  • 1 — [shard{shard_index}[_replica{replica_index}]] 디렉터리 포맷을 사용합니다.
  • use_compact_format_in_distributed_parts_names=0이면 cluster 정의 변경 사항이 백그라운드 INSERT에 적용되지 않습니다.
  • use_compact_format_in_distributed_parts_names=1이면 cluster 정의에서 node 순서를 변경할 경우 shard_index/replica_index도 변경되므로 유의하십시오.

use_concurrency_control

서버의 동시성 제어를 따릅니다(concurrent_threads_soft_limit_numconcurrent_threads_soft_limit_ratio_to_cores 전역 서버 설정 참조). 비활성화하면 서버에 과부하가 걸린 경우에도 더 많은 스레드를 사용할 수 있습니다(일반적인 사용에는 권장되지 않으며, 주로 테스트에 필요합니다).

use_constant_folding_in_index_analysis

파트별 프라이머리 키와 스킵 인덱스를 분석할 때 파티션 수준 상수를 필터 프레디케이트에 대입합니다. 파티션 키가 필터에서 프라이머리 키 또는 스킵 인덱스 컬럼과 함께 사용되면, 인덱스 분석 시 각 파트 내에서 파티션 값을 개별적으로 폴딩할 수 있습니다. 이는 분기가 서로 다른 파티션을 대상으로 하는 논리합 필터에서 특히 유용합니다. 예를 들어, PARTITION BY aORDER BY b가 있는 경우:
파티션 a = 1의 파트에서는 조건이 b >= 1로 축약되고, 파티션 a = 2a = 3에서는 b > 10으로 축약되므로, 각 파트는 실제로 적용되는 프레디케이트를 기준으로 분석됩니다. 가능한 값:
  • 0 — 비활성화됨.
  • 1 — 활성화됨.

use_hash_table_stats_for_join_reordering

조인 재정렬 시 카디널리티 추정을 위해 수집된 해시 테이블 통계를 사용하도록 설정합니다

use_hedged_requests

원격 쿼리에 대한 hedged requests 로직을 활성화합니다. 이를 통해 하나의 쿼리에 대해 서로 다른 레플리카로 여러 연결을 설정할 수 있습니다. 기존 레플리카 연결이 hedged_connection_timeout 내에 설정되지 않거나 receive_data_timeout 내에 데이터를 수신하지 못하면 새 연결이 활성화됩니다. 쿼리는 비어 있지 않은 Progress packet(또는 allow_changing_replica_until_first_data_packet가 설정된 경우 Data packet)을 먼저 보내는 연결을 사용하고, 다른 연결은 취소됩니다. max_parallel_replicas > 1인 쿼리도 지원됩니다. 기본적으로 활성화되어 있습니다. Cloud 기본값: 0.

use_hive_partitioning

활성화되면 ClickHouse는 파일 기반 테이블 엔진 File/S3/URL/HDFS/AzureBlobStorage의 경로(/name=value/)에서 Hive 스타일 파티셔닝을 감지하고, 쿼리에서 파티션 컬럼을 가상 컬럼으로 사용할 수 있도록 합니다. 이러한 가상 컬럼의 이름은 파티셔닝된 경로의 이름과 같지만, 앞에 _가 붙습니다.

use_indexes_refiner_in_read_pools

MergeTree 읽기 풀 내에서 데이터 읽기 시점에 평가된 인덱스를 적용합니다. 스킵 인덱스(use_skip_indexes_on_data_read 참조) 또는 프로젝션 인덱스(optimize_use_projection_filtering 참조)에 의해 완전히 필터링된 마크 범위는 읽는 동안 그래뉼 단위로 건너뛰는 대신, 해당 범위에 대한 읽기 작업을 생성하기 전에 제거됩니다. 프리페치 읽기 풀에서는 제거된 범위를 프리페치하지 않습니다. 하지만 작업 경계와 filesystem_prefetch_max_memory_usage / filesystem_prefetches_limit에 따른 프리페치 허용 여부는 여전히 필터링 전에 결정되므로, 선택도가 매우 높은 필터에서는 남은 작업이 의도한 작업 크기보다 작아질 수 있고 허용 여부 판단도 보수적으로 이루어질 수 있습니다.

use_join_disjunctions_push_down

JOIN 조건에서 OR로 연결된 부분을 해당 입력 측으로 pushdown하는 기능(“partial pushdown”)을 활성화합니다. 이 기능을 사용하면 저장 엔진이 더 이른 단계에서 필터링할 수 있으므로 읽는 데이터 양을 줄일 수 있습니다. 이 최적화는 쿼리 의미를 그대로 유지하며, 각 최상위 OR 분기가 대상 측에 대해 최소 1개의 결정적(deterministic) 프레디케이트를 제공하는 경우에만 적용됩니다.

use_legacy_to_time

활성화하면 toTime이라는 이름은 시간을 유지하면서 시간이 포함된 날짜 값을 특정 고정 날짜로 변환하는 기존 toTime 함수를 가리킵니다. 비활성화하면 이 이름은 다양한 타입의 값을 Time 타입으로 변환하는 새로운 toTime 함수를 가리킵니다. 이 설정과 관계없이 기존 함수는 toTimeWithFixedDate로도 언제나 사용할 수 있습니다. 이 설정이 활성화된 동안에는 CAST(x AS Time) 또는 x::Time을 사용하여 Time 타입으로 변환하십시오.

use_lightweight_primary_key_index_analysis

프라이머리 키가 긴 MergeTree 테이블의 프라이머리 키 인덱스 분석을 최적화합니다. 활성화하면 인덱스 분석의 실행 시간은 프라이머리 키 길이보다 쿼리 필터의 복잡도(실제로 사용하는 키 컬럼)에 주로 좌우됩니다. 따라서 정렬 키를 확장하더라도 그중 일부 컬럼에만 필터를 적용하는 쿼리의 경우 인덱스 분석에 추가되는 오버헤드는 거의 없습니다. 가능한 값:
  • 0 — 비활성화됨. 인덱스 분석 중 모든 프라이머리 키 컬럼이 처리됩니다.
  • 1 — 활성화됨.

use_parquet_metadata_cache

활성화하면 Parquet 포맷에서 Parquet 메타데이터 캐시를 사용할 수 있습니다. 가능한 값:
  • 0 - 비활성화
  • 1 - 활성화

use_primary_key

MergeTree 테이블의 쿼리 실행 중 그래뉼을 프루닝할 때 프라이머리 키를 사용합니다. 가능한 값:
  • 0 — 비활성화됨.
  • 1 — 활성화됨.

use_reader_executor

실험적 기능입니다. 읽기 버퍼로 이루어진 기존의 중첩 구조 대신 새로운 파이프라인 ReaderExecutor를 통해 읽기를 라우팅합니다. 실행기가 아직 지원하지 않는 구성에서는 기존 경로로 대체됩니다.

use_roaring_bitmap_iceberg_positional_deletes

Iceberg 위치 기반 삭제에 Roaring 비트맵을 사용합니다.

use_streaming_marks_compression

MergeTree 파트의 마크를 로딩할 때, 먼저 전체 일반 마크 배열을 생성하는 대신 마크를 블록 단위로 하나씩(스트리밍 방식으로) 인메모리 표현으로 압축합니다. 이렇게 하면 서브스트림이 많은 compact 파트(예: JSON 컬럼이 있는 테이블에서 write_marks_for_substreams_in_compact_parts가 활성화된 경우)에서 마크를 로딩하는 동안 최대 메모리 사용량을 크게 줄일 수 있습니다.

use_strict_insert_block_limits

활성화하면 최소 및 최대 삽입 블록 크기 제한을 모두 엄격하게 적용합니다. 다음과 같은 경우 블록이 생성됩니다:
  • 최소 임계값(AND): min_insert_block_size_rows AND min_insert_block_size_bytes에 모두 도달한 경우입니다.
  • 최대 임계값(OR): max_insert_block_size_rows OR max_insert_block_size_bytes 중 하나에 도달한 경우입니다.
비활성화하면 다음과 같은 경우 블록이 생성됩니다:
  • 최소 임계값(OR): min_insert_block_size_rows OR min_insert_block_size_bytes 중 하나에 도달한 경우입니다.
참고: max 설정이 min 설정보다 작으면 max 한계가 우선하며, 최소 임계값에 도달하기 전에 블록이 생성됩니다. 참고: 이 설정은 async inserts에 대해서는 자동으로 비활성화됩니다. async inserts는 항목별 중복 제거 토큰을 연결하는데, 이는 엄격한 한계 적용에 필요한 블록 분할과 호환되지 않기 때문입니다. 기본적으로 비활성화되어 있습니다.

use_structure_from_insertion_table_in_table_functions

데이터에서 스키마를 추론하는 대신 삽입 테이블의 구조를 사용합니다. 가능한 값: 0 - 비활성화, 1 - 활성화, 2 - 자동

use_uncompressed_cache

압축 해제된 블록의 캐시를 사용할지 여부를 지정합니다. 0 또는 1을 사용할 수 있습니다. 기본값은 0(비활성화)입니다. 압축 해제 캐시( MergeTree 엔진 계열 테이블에만 적용)를 사용하면 짧은 쿼리를 대량으로 처리할 때 지연 시간을 크게 줄이고 처리량을 높일 수 있습니다. 짧은 요청을 자주 보내는 사용자에게는 이 설정을 활성화하세요. 또한 uncompressed_cache_size 구성 매개변수(구성 파일에서만 설정 가능)도 함께 확인하세요. 이 매개변수는 압축 해제 캐시 블록의 크기를 지정합니다. 기본값은 8 GiB입니다. 압축 해제 캐시는 필요할 때 채워지며, 가장 적게 사용된 데이터는 자동으로 삭제됩니다. 비교적 큰 양의 데이터(100만 행 이상)를 읽는 쿼리의 경우, 실제로 작은 쿼리를 위한 공간을 확보하기 위해 압축 해제 캐시가 자동으로 비활성화됩니다. 즉, ‘use_uncompressed_cache’ 설정은 항상 1로 두어도 됩니다.

use_with_fill_by_sorting_prefix

ORDER BY 절에서 WITH FILL 컬럼 앞에 오는 컬럼이 정렬 접두사를 이룹니다. 정렬 접두사의 값이 서로 다른 행은 각각 독립적으로 채워집니다
마지막 수정일 2026년 8월 14일