Ambos tiran los datos. Y no es 'transaccional', por lo que no puede recuperar los datos con un ROLLBACK
.
DROP PARTITION
también elimina la partición de la lista de particiones.
TRUNCATE PARTITION
deja la partición en su lugar, pero vacía.
Un uso común de DROP PARTITION
es eliminar filas "antiguas". Piense en una tabla de información que debe conservarse solo durante 90 días. Utilice PARTITION BY RANGE(TO_DAYS(...))
y tener particiones semanales. Luego, cada semana DROP
el más antiguo y ADD
una nueva partición. Más discusión aquí
.
No he visto la necesidad de TRUNCATE
.
Tenga en cuenta que hay muy pocos casos de uso en los que puede obtener algún beneficio de PARTITIONing
. Hasta ahora, solo he encontrado usos para PARTITION BY RANGE
.