RE: Agotamiento del Espacio en Disco al Ejecutar Conulta

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: A J <anxusgo(at)hotmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Agotamiento del Espacio en Disco al Ejecutar Conulta
Date: 2012-02-09 19:15:29
Message-ID: 1328814583-sup-3209@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Excerpts from A J's message of mié feb 08 19:20:11 -0300 2012:
>
> > Excerpts from A J's message of mié feb 08 08:45:09 -0300 2012:>
> > > El espacio libre en disco que tengo en el PC asciende a 150 GBs, por lo que me parece suficiente para que Postgres pueda realizar la consulta. Más aún, cuando anteriormente he podido realizar consultas similares a ésta sin ningún tipo de problema. Es por esto último por lo que me da que pensar que algo no está funcionando bien en mi server. Podría deberse a una configuración errónea en el archivo postgres.conf? Les detallo aquí las tablas que intervienen en la consulta y el código sql de dicha consulta:
> >
> > > Tablas utilizadas en la consulta:
> > > TABLA: normalized_coup -- alrededor de 150 millones de registros IDJ_ORIG bigint IDJ_DEST bigint COUPLING bigint IDJ_SAHRED bigint
> > > TABLA: normalized_cocit -- alrededor de 130 millones de registros IDJ_ORIG bigint IDJ_DEST bigint COCITATION bigint IDJ_SAHRED bigintCódigo SQL utilizado en la consulta:
> > > SELECT normalized_coup."IDJ_ORIG", normalized_coup."IDJ_DEST", normalized_cocit."COCITATION", normalized_coup."COUPLING"INTO JOIN_coup_cocitFROM normalized_coup INNER JOIN normalized_cocit ON (normalized_coup."IDJ_ORIG" = normalized_cocit."IDJ_ORIG") AND (normalized_coup."IDJ_DEST" = normalized_cocit."IDJ_DEST") ;
> >
> >
> > Hm, ¿podrías mostrar un explain de la consulta?

> Espero que sea esto lo que necesitas. Perdón por la tardanza. Ahí va el Explain:

Sí, esto era. La verdad es que el plan es malo pero quizás simplemente
no pueda hacerlo mejor.

Observa que en el plan hace un sort de cada tabla, por lo tanto el
espacio que necesita es mínimo la suma de los tamaños de ambas. Aunque
como además tiene un Materialize quizás necesite una segunda copia de
una de las tablas, pero no estoy muy seguro de esto.

¿No tienes índices en ninguno de los campos IDJ_DEST ni IDJ_ORIG de las
tablas, verdad? Si tuvieras índices en ambos en al menos una de las
tablas, creo que podría intentar hacer un nested loop y evitarse el
costo (y espacio en disco) de tener que ordenar ambas tablas.

--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Carlos Ramirez Zambrano 2012-02-09 19:32:06 Re: Ayuda sobre problema de replicacion
Previous Message Marcos Ortiz 2012-02-09 17:45:36 Re: Consulta Capos tipo Bytea