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

max_rows_for_lazy_final

지연 실행 FINAL 최적화에 사용되는 Set의 최대 행 수입니다. 이 값을 초과하면 일반 FINAL로 전환됩니다.

max_rows_in_distinct

DISTINCT 사용 시 서로 다른 행의 최대 개수입니다.

max_rows_in_join

테이블 조인 시 사용되는 우측 데이터 구조(일반적으로 hash table)의 행 수를 제한합니다. 이 설정은 SELECT … JOIN 작업과 Join 테이블 엔진에 적용됩니다. 쿼리에 여러 조인이 포함된 경우 ClickHouse는 각 중간 결과에 대해 이 설정을 확인합니다. 제한에 도달하면 동작은 선택한 join_algorithm에 따라 달라집니다. 알고리즘별 동작(spill, re-partition, switch 또는 join_overflow_mode에 따른 throw/break)에 대해서는 해당 설정을 참조하십시오. 가능한 값:
  • 양의 정수.
  • 0 — 행 수에 제한이 없습니다.

max_rows_in_set

서브쿼리로 생성된 IN 절의 데이터 Set에 허용되는 최대 행 수입니다.

max_rows_in_set_to_optimize_join

조인 전에 각 테이블의 행 Set으로 상대 테이블을 필터링하는 데 사용하는 Set의 최대 크기입니다. 가능한 값:
  • 0 — 비활성화합니다.
  • 임의의 양의 정수.

max_rows_to_group_by

집계에서 생성되는 고유 키의 최대 개수입니다. 이 설정을 사용하면 집계 시 메모리 사용량을 제한할 수 있습니다. GROUP BY 중 집계로 인해 지정된 개수보다 많은 행(고유한 GROUP BY 키)이 생성되면, 동작은 ‘group_by_overflow_mode’에 따라 결정됩니다. 기본값은 throw이지만, 근사 GROUP BY 모드로 전환할 수도 있습니다.

max_rows_to_read

쿼리를 실행할 때 테이블에서 읽을 수 있는 최대 행 수입니다. 이 제한은 처리되는 각 데이터 청크마다 검사되며, 가장 깊은 테이블 표현식에만 적용됩니다. 원격 서버에서 읽는 경우에는 원격 서버에서만 검사됩니다.

max_rows_to_read_leaf

분산 쿼리를 실행할 때 리프 노드의 로컬 테이블에서 읽을 수 있는 최대 행 수입니다. 분산 쿼리는 각 세그먼트(리프)에 여러 개의 하위 쿼리를 보낼 수 있지만, 이 제한은 리프 노드의 읽기 단계에서만 확인되며 루트 노드의 결과 병합 단계에서는 적용되지 않습니다. 예를 들어 클러스터가 2개의 세그먼트로 구성되어 있고, 각 세그먼트에 100개의 행이 있는 테이블이 포함되어 있다고 가정합니다. 두 테이블의 모든 데이터를 읽는 분산 쿼리에 max_rows_to_read=150 설정을 사용하면 전체 행 수가 200행이므로 실패합니다. 반면 max_rows_to_read_leaf=150인 쿼리는 리프 노드가 최대 100행만 읽으므로 성공합니다. 이 제한은 처리되는 각 데이터 청크마다 확인됩니다.
이 설정은 prefer_localhost_replica=1과 함께 사용할 경우 안정적으로 동작하지 않습니다.

max_rows_to_sort

정렬 전에 허용되는 최대 행 수입니다. 이 설정을 사용하면 정렬 시 메모리 활용을 제한할 수 있습니다. ORDER BY 작업에서 지정한 수보다 많은 레코드를 처리해야 하는 경우, 동작은 sort_overflow_mode에 따라 결정되며 기본값은 throw입니다.

max_rows_to_transfer

GLOBAL IN/JOIN 절이 실행될 때 원격 서버로 전달되거나 임시 테이블에 저장될 수 있는 최대 행 수입니다.
마지막 수정일 2026년 7월 23일