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