ALTER TABLE [db.]table [ON CLUSTER cluster] APPLY PATCHES [IN PARTITION partition_id]Команда вручную запускает физическую материализацию патч-частей, созданных командами легковесного UPDATE. Она принудительно применяет отложенные патчи к частям данных, переписывая только затронутые столбцы.
Когда использовать APPLY PATCHES
Патч-части обычно применяются автоматически в ходе слияний, когда включена настройка apply_patches_on_merge (по умолчанию). Однако в следующих случаях может потребоваться вручную запустить применение патчей:
- Чтобы уменьшить накладные расходы на применение патчей при выполнении запросов
SELECT - Чтобы объединить несколько патч-частей, прежде чем они накопятся
- Чтобы подготовить данные к резервному копированию или экспорту, уже материализовав патчи
- Когда
apply_patches_on_mergeотключена и вы хотите сами определять, когда применять патчи
Примеры
Примените все отложенные патчи для таблицы:
ALTER TABLE my_table APPLY PATCHES;Применяйте патчи только к конкретной партиции:
ALTER TABLE my_table APPLY PATCHES IN PARTITION '2024-01';Сочетайте с другими операциями:
ALTER TABLE my_table APPLY PATCHES, UPDATE column = value WHERE condition;Мониторинг применения патча
Вы можете отслеживать ход применения патча с помощью таблицы system.mutations:
SELECT * FROM system.mutations
WHERE table = 'my_table' AND command LIKE '%APPLY PATCHES%';См. также
- Легковесный
UPDATE- Создание патч-частей при легковесных обновлениях - настройка
apply_patches_on_merge- Управление автоматическим применением патчей во время слияний