메인 콘텐츠로 건너뛰기
오래된 데이터를 관리하기 위해 TTL을 사용하는 자세한 방법은 TTL로 데이터 관리 사용자 가이드를 참고하세요. 아래 문서에서는 기존 TTL 규칙을 변경하거나 제거하는 방법을 설명합니다.

TTL 변경

다음 형식의 요청을 사용해 테이블 TTL을 변경할 수 있습니다:
ALTER TABLE [db.]table_name [ON CLUSTER cluster] MODIFY TTL ttl_expression;

TTL 제거

다음 쿼리를 사용하여 테이블에서 TTL을 제거할 수 있습니다:
ALTER TABLE [db.]table_name [ON CLUSTER cluster] REMOVE TTL
예시 table TTL이 설정된 테이블을 살펴보겠습니다:
CREATE TABLE table_with_ttl
(
    event_time DateTime,
    UserID UInt64,
    Comment String
)
ENGINE MergeTree()
ORDER BY tuple()
TTL event_time + INTERVAL 3 MONTH
SETTINGS min_bytes_for_wide_part = 0;

INSERT INTO table_with_ttl VALUES (now(), 1, 'username1');

INSERT INTO table_with_ttl VALUES (now() - INTERVAL 4 MONTH, 2, 'username2');
TTL 정리를 강제로 수행하려면 OPTIMIZE를 실행하세요:
OPTIMIZE TABLE table_with_ttl FINAL;
SELECT * FROM table_with_ttl FORMAT PrettyCompact;
테이블의 두 번째 행이 삭제되었습니다.
┌─────────event_time────┬──UserID─┬─────Comment──┐
│   2020-12-11 12:44:57 │       1 │    username1 │
└───────────────────────┴─────────┴──────────────┘
이제 다음 쿼리로 테이블 TTL을 삭제하세요:
ALTER TABLE table_with_ttl REMOVE TTL;
삭제된 행을 다시 삽입한 다음, OPTIMIZETTL 정리를 다시 강제 실행하세요:
INSERT INTO table_with_ttl VALUES (now() - INTERVAL 4 MONTH, 2, 'username2');
OPTIMIZE TABLE table_with_ttl FINAL;
SELECT * FROM table_with_ttl FORMAT PrettyCompact;
TTL이 더 이상 적용되지 않으므로 두 번째 행은 삭제되지 않습니다:
┌─────────event_time────┬──UserID─┬─────Comment──┐
│   2020-12-11 12:44:57 │       1 │    username1 │
│   2020-08-11 12:44:57 │       2 │    username2 │
└───────────────────────┴─────────┴──────────────┘
관련 항목
마지막 수정일 2026년 6월 10일