Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ALTER TABLE ... APPLY PATCHES

베타 기능
ALTER TABLE [db.]table [ON CLUSTER cluster] APPLY PATCHES [IN PARTITION partition_id]

이 명령은 경량 업데이트 SQL 문으로 생성된 패치 파트를 물리적으로 머티리얼라이즈하도록 수동으로 트리거합니다. 영향을 받는 컬럼만 다시 작성하여 보류 중인 패치를 데이터 파트에 강제로 적용합니다.

APPLY PATCHES를 사용하는 경우

패치 파트는 보통 apply_patches_on_merge 설정이 활성화되어 있으면(기본값) 머지 중에 자동으로 적용됩니다. 하지만 다음과 같은 경우에는 패치 적용을 수동으로 트리거하는 것이 유용할 수 있습니다:

  • SELECT 쿼리에서 패치를 적용할 때 발생하는 오버헤드를 줄이려는 경우
  • 여러 패치 파트가 쌓이기 전에 통합하려는 경우
  • 패치가 이미 구체화된 상태로 백업 또는 내보내기를 위해 데이터를 준비하려는 경우
  • apply_patches_on_merge가 비활성화되어 있어 패치 적용 시점을 직접 제어하려는 경우

예시

테이블의 대기 중인 모든 패치를 적용합니다:

ALTER TABLE my_table APPLY PATCHES;

패치를 특정 파티션에만 적용하십시오:

ALTER TABLE my_table APPLY PATCHES IN PARTITION '2024-01';

다른 작업과 함께 수행합니다:

ALTER TABLE my_table APPLY PATCHES, UPDATE column = value WHERE condition;

패치 적용 모니터링

system.mutations 테이블을 사용해 패치 적용 진행 상태를 모니터링할 수 있습니다:

SELECT * FROM system.mutations
WHERE table = 'my_table' AND command LIKE '%APPLY PATCHES%';

관련 항목

Navigation