> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# max_rows_* 세션 설정

> max_rows_*로 생성된 그룹에 속한 ClickHouse 세션 설정입니다.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>유형</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>기본값</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          재시작 없이 변경 가능
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

이 설정은 [system.settings](/docs/ko/reference/system-tables/settings)에서 확인할 수 있으며, [소스 코드](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp)를 기반으로 자동 생성됩니다.

<div id="max_rows_for_lazy_final">
  ## max\_rows\_for\_lazy\_final
</div>

<SettingsInfoBlock type="UInt64" default_value="10000000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "10000000"},{"label": "지연 실행 FINAL 최적화에 사용되는 Set의 최대 행 수에 대한 새로운 설정"}]}]} />

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

<div id="max_rows_in_distinct">
  ## max\_rows\_in\_distinct
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

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

<div id="max_rows_in_join">
  ## max\_rows\_in\_join
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

테이블 조인 시 사용되는 우측 데이터 구조(일반적으로 hash
table)의 행 수를 제한합니다.

이 설정은 [SELECT ... JOIN](/docs/ko/reference/statements/select/join)
작업과 [Join](/docs/ko/reference/engines/table-engines/special/join) 테이블 엔진에 적용됩니다.

쿼리에 여러 조인이 포함된 경우 ClickHouse는 각
중간 결과에 대해 이 설정을 확인합니다. 제한에 도달하면 동작은
선택한 [`join_algorithm`](/docs/ko/reference/settings/session-settings/join#join_algorithm)에 따라 달라집니다. 알고리즘별 동작(spill, re-partition, switch 또는
[`join_overflow_mode`](/docs/ko/reference/settings/session-settings/join#join_overflow_mode)에 따른 throw/break)에 대해서는 해당 설정을 참조하십시오.

가능한 값:

* 양의 정수.
* `0` — 행 수에 제한이 없습니다.

<div id="max_rows_in_set">
  ## max\_rows\_in\_set
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

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

<div id="max_rows_in_set_to_optimize_join">
  ## max\_rows\_in\_set\_to\_optimize\_join
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "0"},{"label": "read in order 최적화를 방해하므로 조인 최적화를 비활성화합니다"}]}]} />

조인 전에 각 테이블의 행 Set으로 상대 테이블을 필터링하는 데 사용하는 Set의 최대 크기입니다.

가능한 값:

* 0 — 비활성화합니다.
* 임의의 양의 정수.

<div id="max_rows_to_group_by">
  ## max\_rows\_to\_group\_by
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

집계에서 생성되는 고유 키의 최대 개수입니다. 이 설정을 사용하면
집계 시 메모리 사용량을 제한할 수 있습니다.

GROUP BY 중 집계로 인해 지정된 개수보다 많은
행(고유한 GROUP BY 키)이 생성되면, 동작은
'group\_by\_overflow\_mode'에 따라 결정됩니다. 기본값은 `throw`이지만,
근사 GROUP BY 모드로 전환할 수도 있습니다.

<div id="max_rows_to_read">
  ## max\_rows\_to\_read
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

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

<div id="max_rows_to_read_leaf">
  ## max\_rows\_to\_read\_leaf
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

분산 쿼리를 실행할 때 리프 노드의 로컬 테이블에서 읽을 수 있는 최대 행 수입니다. 분산 쿼리는 각 세그먼트(리프)에 여러 개의 하위 쿼리를 보낼 수 있지만, 이 제한은 리프 노드의 읽기 단계에서만 확인되며 루트 노드의 결과 병합 단계에서는 적용되지 않습니다.

예를 들어 클러스터가 2개의 세그먼트로 구성되어 있고, 각 세그먼트에 100개의 행이 있는 테이블이 포함되어 있다고 가정합니다. 두 테이블의 모든 데이터를 읽는 분산 쿼리에 `max_rows_to_read=150` 설정을 사용하면 전체 행 수가 200행이므로 실패합니다. 반면 `max_rows_to_read_leaf=150`인 쿼리는 리프 노드가 최대 100행만 읽으므로 성공합니다.

이 제한은 처리되는 각 데이터 청크마다 확인됩니다.

<Note>
  이 설정은 `prefer_localhost_replica=1`과 함께 사용할 경우 안정적으로 동작하지 않습니다.
</Note>

<div id="max_rows_to_sort">
  ## max\_rows\_to\_sort
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

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

<div id="max_rows_to_transfer">
  ## max\_rows\_to\_transfer
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

GLOBAL IN/JOIN 절이 실행될 때 원격 서버로 전달되거나
임시 테이블에 저장될 수 있는 최대 행 수입니다.
