Перейти к основному содержимому
Перейти к основному содержимому

Мутации обновления

Мутации обновления относятся к запросам ALTER, которые манипулируют данными таблицы через обновления. В частности, это такие запросы, как ALTER TABLE UPDATE и т.д. Выполнение таких запросов приведет к созданию новых измененных версий частей данных. Это означает, что такие операторы вызовут перезапись всех частей данных для всех данных, которые были вставлены до мутации, что приведет к большому числу записей.

к сведению

Для обновлений вы можете избежать этих больших объемов записей, используя специализированные движки таблиц, такие как ReplacingMergeTree или CollapsingMergeTree, вместо стандартного движка таблиц MergeTree.

Операторы ALTER TABLE ... UPDATE

Управляет данными, соответствующими указанному фильтрующему выражению. Реализовано как мутация.

примечание

Префикс ALTER TABLE делает этот синтаксис отличным от большинства других систем, поддерживающих SQL. Он предназначен для обозначения того, что в отличие от аналогичных запросов в транзакционных базах данных это тяжелая операция, не предназначенная для частого использования.

filter_expr должен быть типа UInt8. Этот запрос обновляет значения указанных столбцов на значения соответствующих выражений в строках, для которых filter_expr принимает ненулевое значение. Значения приводятся к типу столбца с использованием оператора CAST. Обновление столбцов, которые используются в расчетах первичного или партиционного ключа, не поддерживается.

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

Синхронность обработки запроса определяется настройкой mutations_sync. По умолчанию она асинхронная.

Смотрите также