> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# allow_experimental_* MergeTree 테이블 설정

> allow_experimental_* 생성 그룹에 속한 ClickHouse MergeTree 테이블 설정입니다.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["버전", "기본값", "설명"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        버전 이력
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

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 ExperimentalBadge = () => {
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#experimental-features" className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            실험 기능
        </a>;
};

이 설정은 [system.merge\_tree\_settings](/ko/reference/system-tables/merge_tree_settings)에서 확인할 수 있으며, ClickHouse 소스 코드에서 자동으로 생성됩니다.

<div id="allow_experimental_adaptive_codec_selection">
  ## allow\_experimental\_adaptive\_codec\_selection
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "새 설정입니다."}]}]} />

활성화하면 머지 및 뮤테이션에서 기본 코덱(`CODEC` 절이 없거나 `CODEC(Default)`인 경우)을 사용하는 컬럼의 블록별로 코덱을 선택합니다.
후보는 테이블의 기본 코덱(`default_compression_codec` 설정 참조), `NONE`, 그리고 컬럼 타입에 적합한 특수 코덱입니다.
현재는 정수형과 유사한 타입에만 적응형 선택이 지원됩니다.
출력 크기가 가장 작은 코덱이 선택됩니다. 따라서 압축 효율이 기본 코덱보다 떨어지는 일은 없으며, 압축되지 않는 블록은 원시 형식으로 저장됩니다.
기본 코덱에 암호화(예: `AES_128_GCM_SIV`)가 포함된 컬럼은 적응형으로 선택되지 않으므로 항상 암호화가 적용됩니다.
블록별 코덱은 [`mergeTreeCodecBlockCounts`](/ko/reference/functions/table-functions/index) 테이블 함수에서 확인할 수 있습니다.

<div id="allow_experimental_replacing_merge_with_cleanup">
  ## allow\_experimental\_replacing\_merge\_with\_cleanup
</div>

<ExperimentalBadge />

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

`is_deleted`
컬럼이 있는 ReplacingMergeTree에 대해 실험적인 CLEANUP 머지를 허용합니다. 활성화하면 `OPTIMIZE ... FINAL CLEANUP`을 사용해 파티션의 모든 파트를 수동으로 단일 파트로 머지하고,
삭제된 모든 행을 제거할 수 있습니다.

또한 `min_age_to_force_merge_seconds`,
`min_age_to_force_merge_on_partition_only` 및
`enable_replacing_merge_with_cleanup_for_min_age_to_force_merge` 설정을 사용해 이러한 머지가 백그라운드에서
자동으로 수행되도록 할 수도 있습니다.

<div id="allow_experimental_reverse_key">
  ## allow\_experimental\_reverse\_key
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "새로운 설정"}]}]} />

더 이상 사용되지 않는 설정이며, 아무런 효과가 없습니다.

<div id="allow_experimental_text_index_phrase_search">
  ## allow\_experimental\_text\_index\_phrase\_search
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "새로운 설정"}]}]} />

정확한 구문 일치를 지원하기 위해 토큰 위치를 저장하는 실험적 `support_phrase_search` 인수를 사용해
텍스트 인덱스를 생성할 수 있도록 합니다.
