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

> Документация по управлению TTL таблицы

# Управление TTL таблицы

<Note>
  Если вам нужны подробности об использовании TTL для управления устаревшими данными, обратитесь к руководству пользователя [Управление данными с помощью TTL](/ru/concepts/features/operations/delete/ttl). Ниже показано, как изменить или удалить существующее правило TTL.
</Note>

<div id="modify-ttl">
  ## ИЗМЕНЕНИЕ TTL
</div>

Вы можете изменить [TTL таблицы](/ru/reference/engines/table-engines/mergetree-family/mergetree#mergetree-table-ttl) с помощью запроса следующего вида:

```sql theme={null}
ALTER TABLE [db.]table_name [ON CLUSTER cluster] MODIFY TTL ttl_expression;
```

<div id="remove-ttl">
  ## УДАЛИТЬ TTL
</div>

Свойство TTL можно удалить из таблицы с помощью следующего запроса:

```sql theme={null}
ALTER TABLE [db.]table_name [ON CLUSTER cluster] REMOVE TTL
```

**Пример**

Рассмотрим таблицу с `TTL`:

```sql theme={null}
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');
```

Выполните `OPTIMIZE`, чтобы принудительно выполнить очистку `TTL`:

```sql theme={null}
OPTIMIZE TABLE table_with_ttl FINAL;
SELECT * FROM table_with_ttl FORMAT PrettyCompact;
```

Из таблицы была удалена вторая строка.

```text theme={null}
┌─────────event_time────┬──UserID─┬─────Comment──┐
│   2020-12-11 12:44:57 │       1 │    username1 │
└───────────────────────┴─────────┴──────────────┘
```

Теперь удалите таблицу `TTL` следующим запросом:

```sql theme={null}
ALTER TABLE table_with_ttl REMOVE TTL;
```

Повторно вставьте удалённую строку и принудительно запустите очистку `TTL` с помощью `OPTIMIZE`:

```sql theme={null}
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` больше нет, поэтому вторая строка не удаляется:

```text theme={null}
┌─────────event_time────┬──UserID─┬─────Comment──┐
│   2020-12-11 12:44:57 │       1 │    username1 │
│   2020-08-11 12:44:57 │       2 │    username2 │
└───────────────────────┴─────────┴──────────────┘
```

**См. также**

* Подробнее о [TTL-выражении](/ru/reference/statements/create/table#ttl-expression).
* Как изменить столбец [с TTL](/ru/reference/statements/alter/ttl).
