Re: Problemas de rendimiento con tablas temportales

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: "Andres A(dot) Mamani" <andres(dot)abel(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Problemas de rendimiento con tablas temportales
Date: 2007-05-11 17:19:45
Message-ID: 20070511171945.GF17314@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Andres A. Mamani escribió:

> Tengo una función pl/pgSql en la cual trabajo con tablas temporales de la
> forma:
>
> create temp table _nombre_tabla (campo1 integer, campo2 text... campoN
> integer);
> ...
> inserto datos a la tabla:
> insert into _nombre_tabla select * from (otras subconsultas);
>
> posteriormente elimino la tabla.
>
> El problema es que cuanto más llamadas se hace a la función el proceso es
> mas lento, y aunmenta el espacio en disco de la base de datos que
> originalmente es de 500MB y aumenta progresivamente... ahora esta en 5GB; el
> retardo aumenta del orden de los milisegundos a 2, incluso hasta 3 minutos.
> Tengo que bajar mi servidor y realizar un VACUUM --all --full --analyze
> entonces todo vuelve a la normalidad y el proceso es rápido, sin embargo no
> reduce considerablemente el espacio en disco utilizado por la base de datos.

Debes realizar vacuum con mucha mas frecuencia, digamos una vez al dia
como minimo. Y no pongas el FULL; usa el vacuum normalito no mas.
Asegurate que se hace como superusuario y examina el resultado para que
no hayan mensajes de error o que se salta algunas tablas.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Arturo Munive 2007-05-11 20:26:06 Re: 3 consultas sobre Funciones
Previous Message Alejandro Gasca 2007-05-11 17:17:36 secuencias en catalogos anidados