Skip to main content
Удаляет данные, соответствующие указанному фильтрующему выражению. Реализовано в виде мутации.
Префикс ALTER TABLE указывает на то, что это тяжеловесная операция, в отличие от похожих запросов в OLTP-базах данных. ALTER TABLE ... DELETE переписывает каждую часть данных, содержащую строки, соответствующие выражению фильтрации, создавая значительный объем операций ввода-вывода. Используйте её редко, так как она может повлиять на производительность SELECT.Для таблиц MergeTree рассмотрите возможность использования запроса DELETE FROM, который выполняет легковесное удаление и может быть значительно быстрее. Для рабочих нагрузок, требующих частых удалений или исправлений, рассмотрите возможность использования ReplacingMergeTree или CollapsingMergeTree.
filter_expr должен иметь тип UInt8. Запрос удаляет строки таблицы, для которых это выражение принимает ненулевое значение. Один запрос может содержать несколько команд, разделенных запятыми. Секция IN PARTITION ограничивает мутацию перечисленными партициями. Без неё в таблицах семейства ReplicatedMergeTree при включённой (по умолчанию) настройке optimize_mutations_with_partition_pruning ClickHouse автоматически определяет условия по ключу партиционирования в filter_expr и выполняет мутацию только для затронутых партиций. В нереплицируемых таблицах MergeTree используйте явную секцию IN PARTITION, чтобы ограничить мутацию конкретными партициями. Синхронность выполнения запроса определяется настройкой mutations_sync. По умолчанию запрос выполняется асинхронно. См. также

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

Последнее изменение 26 сентября 2026 г.