[Pgsql-ayuda] Re: Consulta por Performance

Carmen Gloria Sepulveda Dedes csepulveda@atichile.com
Tue, 20 Jan 2004 10:03:11 -0300


> He visto un problema similar reportado un par de veces.  La idea es que el
> tiempo de insertar un registro aumenta a medida que hay mas registros en la
> tabla.  No recuerdo cual era la solucion.  Quizas tenga que ver con lo que
> pregunto más arriba.  Podrias probar haciendo ANALYZE de la tabla a medida
> que el proceso avanza.  O quizas podrias botar todos los indices de la
> tabla, insertar todo y recrear los indices.

Hmmm ... No hay llaves de ningun tipo en la tabla.  Lo que si hay son 3
indices.  Lo que estoy probando ahora es que luego de hacer un select a la
tabla, hago drop a los indices, hago el insert por medio de un cursor (para
poder hacer el analyze que sugieres cada cierta cantidad de registros
insertados), luego recreo los indices y sigo con la ejecucion de la funcion.

En una prueba que deje corriendo, la insercion se demoro 1 hora, 15 minutos
aproximadamente, bastante menos de lo que habia sido hasta ahora.  En todo
caso, sigo pensando que es demasiado tiempo, considerando las caracteristicas
de la maquina en que esta corriendo (Postgresql 7.4 sobre Penguin Computing
Altus 3200 64 bits, disco SCSIcon 2 Gb de RAM).

Alguna otra sugerencia?

> Si el problema es que insertar una tupla es >> O(1), deberias buscar la
> explicacion en otra parte.

En esta tabla solo hay insercion masiva de datos.