> ## 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.

# prefer_* 세션 설정

> 자동 생성된 prefer_* 그룹의 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>;
};

export const CloudOnlyBadge = () => {
  return <div className="cloudBadge">
            <div className="cloudIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fillRule="evenodd" clipRule="evenodd" d="M5.33395 12.6667H12.3739C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00004 12.3739 8.00004H12.0839V7.33337C12.0839 5.12671 10.2906 3.33337 8.08395 3.33337C6.09928 3.33337 4.45395 4.78537 4.14195 6.68204C2.55728 6.76271 1.29395 8.06204 1.29395 9.66671C1.29395 11.3234 2.63728 12.6667 4.29395 12.6667H5.33395Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'ClickHouse Cloud 전용'}
        </div>;
};

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

<div id="prefer_column_name_to_alias">
  ## prefer\_column\_name\_to\_alias
</div>

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

쿼리 표현식과 절에서 별칭(alias) 대신 원래 컬럼명을 사용할지 여부를 설정합니다. 특히 별칭이 컬럼명과 동일한 경우 중요합니다. 자세한 내용은 [Expression Aliases](/docs/ko/reference/syntax#notes-on-usage)를 참조하십시오. 이 설정을 활성화하면 ClickHouse의 별칭 구문 규칙이 대부분의 다른 데이터베이스 엔진과 더 잘 호환됩니다.

가능한 값:

* 0 — 컬럼명이 별칭으로 대체됩니다.
* 1 — 컬럼명이 별칭으로 대체되지 않습니다.

**예시**

활성화 여부에 따른 차이:

쿼리:

```sql theme={null}
SET prefer_column_name_to_alias = 0;
SELECT avg(number) AS number, max(number) FROM numbers(10);
```

결과:

```text theme={null}
Received exception from server (version 21.5.1):
Code: 184. DB::Exception: Received from localhost:9000. DB::Exception: Aggregate function avg(number) is found inside another aggregate function in query: While processing avg(number) AS number.
```

쿼리:

```sql theme={null}
SET prefer_column_name_to_alias = 1;
SELECT avg(number) AS number, max(number) FROM numbers(10);
```

결과:

```text theme={null}
┌─number─┬─max(number)─┐
│    4.5 │           9 │
└────────┴─────────────┘
```

<div id="prefer_external_sort_block_bytes">
  ## prefer\_external\_sort\_block\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.5"},{"label": "16744704"},{"label": "외부 정렬 시 최대 블록 바이트를 우선 사용하여 병합 중 메모리 사용량을 줄입니다."}]}]} />

외부 정렬 시 최대 블록 바이트를 우선 사용하여 병합 중 메모리 사용량을 줄입니다.

<div id="prefer_global_in_and_join">
  ## prefer\_global\_in\_and\_join
</div>

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

`IN`/`JOIN` 연산자를 `GLOBAL IN`/`GLOBAL JOIN`으로 대체할지 여부를 설정합니다.

가능한 값:

* 0 — 비활성화. `IN`/`JOIN` 연산자는 `GLOBAL IN`/`GLOBAL JOIN`으로 대체되지 않습니다.
* 1 — 활성화. `IN`/`JOIN` 연산자가 `GLOBAL IN`/`GLOBAL JOIN`으로 대체됩니다.

**사용법**

`SET distributed_product_mode=global`은 분산 테이블의 쿼리 동작을 변경할 수 있지만, 로컬 테이블이나 외부 리소스의 테이블에는 적합하지 않습니다. 이런 경우 `prefer_global_in_and_join` 설정이 유용합니다.

예를 들어, 분산에 적합하지 않은 로컬 테이블이 있는 쿼리 서빙 노드가 있다고 가정하겠습니다. 이런 경우 분산 처리 중에 `GLOBAL` 키워드(`GLOBAL IN`/`GLOBAL JOIN`)를 사용해 해당 데이터를 즉시 분산시켜야 합니다.

`prefer_global_in_and_join`의 또 다른 사용 사례는 외부 엔진으로 생성된 테이블에 액세스하는 경우입니다. 이 설정을 사용하면 이러한 테이블을 조인할 때 외부 SOURCES에 대한 호출 수를 줄일 수 있으며, 쿼리당 1번만 호출하면 됩니다.

**관련 항목:**

* `GLOBAL IN`/`GLOBAL JOIN` 사용 방법에 대한 자세한 내용은 [Distributed subqueries](/docs/ko/reference/statements/in#distributed-subqueries)를 참조하십시오

<div id="prefer_localhost_replica">
  ## prefer\_localhost\_replica
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

분산 쿼리를 처리할 때 localhost 레플리카를 우선적으로 사용하도록 설정하거나 비활성화합니다.

가능한 값:

* 1 — localhost 레플리카가 있으면 ClickHouse는 항상 해당 레플리카로 쿼리를 보냅니다.
* 0 — ClickHouse는 [load\_balancing](/docs/ko/reference/settings/session-settings/load-balancing#load_balancing) 설정에 지정된 로드 밸런싱 전략을 사용합니다.

<Note>
  [parallel\_replicas\_custom\_key](/docs/ko/reference/settings/session-settings/parallel-replicas#parallel_replicas_custom_key) 없이 [max\_parallel\_replicas](/docs/ko/reference/settings/session-settings/max#max_parallel_replicas)를 사용하는 경우에는 이 설정을 비활성화하십시오.
  [parallel\_replicas\_custom\_key](/docs/ko/reference/settings/session-settings/parallel-replicas#parallel_replicas_custom_key)가 설정된 경우에는, 여러 세그먼트에 각각 여러 레플리카가 있는 클러스터에서 사용할 때만 이 설정을 비활성화하십시오.
  단일 세그먼트와 여러 레플리카가 있는 클러스터에서 이 설정을 비활성화하면 부정적인 영향이 발생합니다.
</Note>

<div id="prefer_warmed_unmerged_parts_seconds">
  ## prefer\_warmed\_unmerged\_parts\_seconds
</div>

<CloudOnlyBadge />

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

ClickHouse Cloud에서만 효과가 있습니다. 병합된 파트가 이 값으로 지정된 초 수보다 덜 오래되었고 사전 워밍되지 않았지만([cache\_populated\_by\_fetch](/docs/ko/reference/settings/merge-tree-settings#cache_populated_by_fetch) 참조), 해당 파트의 모든 소스 파트가 사용 가능하며 사전 워밍된 상태라면 SELECT 쿼리는 대신 그 소스 파트들에서 읽습니다. Replicated-/SharedMergeTree에만 적용됩니다. 이 설정은 CacheWarmer가 해당 파트를 처리했는지만 확인합니다. 따라서 다른 방법으로 파트가 캐시에 가져와졌더라도 CacheWarmer가 해당 파트를 처리하기 전까지는 계속 콜드 상태로 간주되며, 워밍된 후 캐시에서 제거되었더라도 계속 웜 상태로 간주됩니다.
