Обновление мутаций
Обновление мутаций относится к 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