> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Документация по оператору ALTER TABLE ... DELETE

# ALTER TABLE ... DELETE

```sql theme={null}
ALTER TABLE [db.]table [ON CLUSTER cluster] DELETE [IN PARTITION partition_expr1 [, partition_expr2 ...]] WHERE filter_expr
```

Удаляет данные, соответствующие указанному фильтрующему выражению. Реализовано в виде [мутации](/ru/reference/statements/alter/index#mutations).

<Warning>
  Префикс `ALTER TABLE` указывает на то, что это тяжеловесная операция, в отличие от похожих запросов в OLTP-базах данных. `ALTER TABLE ... DELETE` переписывает каждую часть данных, содержащую строки, соответствующие выражению фильтрации, создавая значительный объем операций ввода-вывода. Используйте её редко, так как она может повлиять на производительность `SELECT`.

  Для таблиц `MergeTree` рассмотрите возможность использования [запроса `DELETE FROM`](/ru/reference/statements/delete), который выполняет легковесное удаление и может быть значительно быстрее. Для рабочих нагрузок, требующих частых удалений или исправлений, рассмотрите возможность использования [`ReplacingMergeTree`](/ru/concepts/features/operations/update/replacing-merge-tree) или [`CollapsingMergeTree`](/ru/reference/engines/table-engines/mergetree-family/collapsingmergetree).
</Warning>

`filter_expr` должен иметь тип `UInt8`. Запрос удаляет строки таблицы, для которых это выражение принимает ненулевое значение.

Один запрос может содержать несколько команд, разделенных запятыми.

Секция `IN PARTITION` ограничивает мутацию перечисленными партициями. Без неё в таблицах семейства `ReplicatedMergeTree` при включённой (по умолчанию) настройке [optimize\_mutations\_with\_partition\_pruning](/ru/reference/settings/session-settings/optimize) ClickHouse автоматически определяет условия по ключу партиционирования в `filter_expr` и выполняет мутацию только для затронутых партиций. В нереплицируемых таблицах `MergeTree` используйте явную секцию `IN PARTITION`, чтобы ограничить мутацию конкретными партициями.

Синхронность выполнения запроса определяется настройкой [mutations\_sync](/ru/reference/settings/session-settings/mutations#mutations_sync). По умолчанию запрос выполняется асинхронно.

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

* [Мутации](/ru/reference/statements/alter/index#mutations)
* [Синхронность запросов ALTER](/ru/reference/statements/alter/index#synchronicity-of-alter-queries)
* настройка [mutations\_sync](/ru/reference/settings/session-settings/mutations#mutations_sync)

## Материалы по теме

* Блог: [Обработка обновлений и удалений в ClickHouse](https://clickhouse.com/blog/handling-updates-and-deletes-in-clickhouse)
