ALTER TABLE [db.]table [ON CLUSTER cluster] APPLY PATCHES [IN PARTITION partition_id]Este comando desencadena manualmente la materialización física de las partes de parche creadas por la actualización ligera. Aplica por la fuerza los parches pendientes a las partes de datos reescribiendo únicamente las columnas afectadas.
Cuándo usar APPLY PATCHES
Las partes de parche normalmente se aplican automáticamente durante las fusiones cuando la configuración apply_patches_on_merge está habilitada (de forma predeterminada). Sin embargo, puede que quieras desencadenar manualmente la aplicación de parches en estos casos:
- Para reducir la sobrecarga de aplicar parches durante las consultas
SELECT - Para consolidar varias partes de parche antes de que se acumulen
- Para preparar los datos para copias de seguridad o exportaciones con los parches ya materializados
- Cuando
apply_patches_on_mergeestá deshabilitada y quieres controlar cuándo se aplican los parches
Ejemplos
Aplicar todos los parches pendientes de una tabla:
ALTER TABLE my_table APPLY PATCHES;Aplique parches solo a una partición específica:
ALTER TABLE my_table APPLY PATCHES IN PARTITION '2024-01';Combínelo con otras operaciones:
ALTER TABLE my_table APPLY PATCHES, UPDATE column = value WHERE condition;Seguimiento de la aplicación de parches
Puede seguir el progreso de la aplicación de parches usando la tabla system.mutations:
SELECT * FROM system.mutations
WHERE table = 'my_table' AND command LIKE '%APPLY PATCHES%';Véase también
- actualización ligera - Crear partes de parche mediante actualizaciones ligeras
- configuración
apply_patches_on_merge- Controlar la aplicación automática de parches durante las fusiones