Re: Pregunta con error shrink relation

From: Gunnar Wolf <gwolf(at)gwolf(dot)org>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Miguel Angel <mvillagomez(at)sayab(dot)com(dot)mx>, Lista Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Pregunta con error shrink relation
Date: 2009-01-09 17:08:31
Message-ID: 20090109170830.GB14212@cajita.gateway.2wire.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera dijo [Thu, Jan 08, 2009 at 06:40:03PM -0300]:
> Miguel Angel escribió:
> > Dentro del servidor del trabajo he puesto un comando de vacunación y
> > reindexación de la base debido a que creí que esto haría más rápida la
> > base, debido a problemas de ralentización que hay en nuestra aplicación.
>
> Normalmente no traducimos "vacuum".

Y si lo hiciéramos (porque a veces ayuda para entender qué es lo que
este proceso significa), no sería por "vacunación". En inglés,
"vacuum" significa vacío, y de ahí deriva el nombre de las
aspiradoras, "vacuum cleaner" (que son máquinas hechas para limpiar a
través de un diferencial de presión en el aire, creando un vacío). El
proceso de "aspirar" tus bases de datos va, tabla por tabla,
recogiendo figurativamente el polvo y la basura que pueda encontrar.

Por poner un ejemplo, cuando eliminas un registro, por razones de
rendimiento, PostgreSQL no lo borra inmediatamente del disco, sino que
lo marca como "pendiente". Aspirar una tabla recoge esas migajitas de
información pendiente. Esto obliga, claro, a que se regeneren los
índices, pues la ubicación física de cada registro cambia en dicho
proceso. Esto no sólo te lleva a ahorrar espacio, sino que mejora el
rendimiento (pues reduce la probabilidad de que el motor se tope con
un registro que aparentemente cubre las condiciones que le
solicitaron, para encontrarse con que está marcado como inválido). Y
además, el motor recolecta estadísticas acerca de los registros para
ayudarse a optimizar los futuros planes de búsqueda.

Claro está, para algunas de estas operaciones es importante contar con
acceso exclusivo... de modo que hay veces que una pasada de vacuum es
diferida, si el motor se da cuenta que le pegaría al rendimiento de
las operaciones actuales.

Saludos,

--
Gunnar Wolf - gwolf(at)gwolf(dot)org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Chávez B. 2009-01-09 17:26:13 Re: Pregunta con error shrink relation
Previous Message Carolina Román Salgado 2009-01-09 16:14:12 Re: Acerca de UTF8 en una base de datos