gracias por la sugerencia Alvaro.

tomando en cuenta lo que decia Francisco revise el tamaño de todas las
tablas involucradas y le di a temp_buffers la suma del tamaño de tabla 1,
tabla 2 y tabla 3 con el resultado del tamaño del join.
y de nuevo todo se ejecuta como antes.

son las primeras pruebas pero incluso diria que hasta esta andando mas
rapido.

tengo 2 bases de datos con algunos miles de registro en un primer caso
necesite temp_buffers a 15 megas y en el otro temp_buffer llego a 76 mb.
que es el tamaño que suman t1,t2 y t3 en cada caso

Gracias ahora nuevamente todo esta andando bien aunque un me pregunto como
actuaria si la BD fuera mas grande y no me alcanzara la memoria.

saludos







El 10 de julio de 2016, 13:35, Alvaro Herrera <alvhe...@2ndquadrant.com>
escribió:

> jvenegasperu . escribió:
>
> > Trabajo con una función para ordenamiento de geometrias
> >
> > dentro de mi función tengo codigo de esta forma
> >
> > create temp table tabla1 as
> > bla bla bla
> >
> > create temp table tabla2 as
> > bla bla bla
> >
> > create temp table tabla3 as
> > select * from tabla1 t1 join tabla2 t2 on t1.id = t2.id
> >
> > La función venia trabajando de maravilla tardando solo un par de segundos
> > por cada ruta de trabajo que tenia que ordenar.
> > Pero ahora a pasado a demorar mas de 40 segundos por cada registro de la
> BD
> > que tengo que analizar.
>
> Francisco ya comentó sobre temp_buffers.
>
> Es posible que te convenga hacer
> ANALYZE tabla1;
> ANALYZE tabla2;
> antes de crear la tabla 3.  Así las estadísticas estarán al día y
> posiblemente genere un plan mejor para el join de crear la tabla 3.
>
> --
> Álvaro Herrera                http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>



-- 
José Mercedes Venegas Acevedo
cel Mov RPC 964185205

skype jvenegasperu
facebook jvenegasperu
<jvenegasp...@gmail.com>

Responder a