Qué sucede cuando tenemos una tabla que pesa bastante... digamos 3, 4 o 5 Gigas o quizás no tanto... y eliminamos de un saque (via delete) un porcentaje importante de filas?... La respuesta es fácil... todo ese espacio alocado (traducción a lo indio de allocated) para ese tabla no es liberado... y sigue ocupando el mismo espacio en disco!... Bien... Cómo hacemos para liberarlo?
Sencillo:
ALTER TABLE schema.NOMBRE_TABLA enable row movement;
ALTER TABLE schema.NOMBRE_TABLA SHRINK SPACE;
ALTER TABLE schema.NOMBRE_TABLA disable row movement;
Con ésto, deberíamos poder recuperar ese espacio inutilizado... Espero haya sido de utilidad!P.D.: si la tabla tiene índice function-based esto no nos será posible, lo que haríamos en ese caso es eliminar el o los índices, ejecutar las sentencias anteriores, y volver a crear los índices function-based .
No hay comentarios:
Publicar un comentario