Télefono:
91 626 61 20
Dirección:
C/ Copenhague 6. Edificio Al Andalus. Planta 2ª. Oficina 5. 28232. Las Rozas. Madrid
Como ya vimos en otro artículo los datos en IBM Informix pueden fragmentarse haciendo más ineficiente su acceso. Ya vimos que con repack podíamos recolocar los datos en los primeros extents dejando libre la parte final de los mismos. Ahora vamos a ver cómo funciona shrink y qué nos aporta para complementar el repack.
Shrink reduce el tamaño de los extents o los libera en caso de que se hayan quedado vacíos. Esto libera de forma efectiva el espacio ocupado por una tabla ya que simplemente borrando registros no se libera espacio ya que el espacio sigue reservado.
Srink funciona reduciendo todos los extents al mínimo tamaño posible excepto el primer extent. El primer extent sólo se puede reducir hasta el tamaño definido durante la creación con el parámetro extent size. Si ese parámetro se nos ha quedado grande o pequeño lo podemos modificar para que shrink se ajuste al nuevo valor.
Los extents que se hayan quedado vacíos se liberan devolviendo el espacio reservado para que pueda ser utilizado por otras tablas.
Aunque shrink se puede utilizar de forma individual de la siguiente forma:
execute function task(‘table shrink’,’tabla’,’base de datos’,’propietario’)
suele ser habitual utilizarlo en conjunción con repack de la siguiente forma:
execute function task(‘table repack shrink’,’tabla’,’base de datos’,’propietario’)
Ya que de esta forma aprovechamos que repack agrupa los datos y shrink libera el espacio.