Мутации удаления
Мутации удаления относятся к запросам ALTER
, которые манипулируют данными таблиц через удаление. В частности, это такие запросы, как ALTER TABLE DELETE
и т. д. Выполнение таких запросов создаст новые мутированные версии частей данных. Это означает, что такие операторы вызовут переписывание всех частей данных для всех данных, которые были вставлены до мутации, что приведет к большому количеству запросов на запись.
Для удаления вы можете избежать этих больших объемов запросов на запись, используя специализированные движки таблиц, такие как ReplacingMergeTree или CollapsingMergeTree, вместо стандартного движка таблиц MergeTree.
Удаление данных с помощью оператора ALTER TABLE ... DELETE
Удаляет данные, соответствующие заданному фильтрующему выражению. Реализовано как мутация.
Префикс ALTER TABLE
делает этот синтаксис отличным от большинства других систем, поддерживающих SQL. Это предназначено для того, чтобы подчеркнуть, что в отличие от подобных запросов в OLTP базах данных, это тяжелая операция, не предназначенная для частого использования. ALTER TABLE
считается тяжелой операцией, которая требует объединения исходных данных перед их удалением. Для таблиц MergeTree рекомендуется использовать запрос [DELETE FROM
/sql-reference/statements/delete.md), который выполняет легковесное удаление и может быть значительно быстрее.
filter_expr
должен быть типа UInt8
. Запрос удаляет строки в таблице, для которых это выражение принимает ненулевое значение.
Один запрос может содержать несколько команд, разделенных запятыми.
Синхронность обработки запроса задается настройкой mutations_sync. По умолчанию она асинхронна.
Смотрите также
- Мутации
- Синхронность запросов ALTER
- Настройка mutations_sync