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