Hola:

Antes de nada, gracias por su atención. Les informo acerca del problema que 
tengo con una consulta que pretendo realizar en una base de datos creada en 
Postgre. Primero, hago constar que soy totalmente nuevo en el uso, manejo y 
administración de Postgre.

Tengo estas dos tablas ya creadas (adjunto el código de Pgadmin):

CREATE TABLE iteracion1
(
  idrev_origen double precision,
  idrev_destino double precision,
  id_cat integer,
  valor integer
)
WITH (
  OIDS=FALSE
)
TABLESPACE newtables;

----------

CREATE TABLE tabla_enlaces_rev_rev_nodupl_agrup
(
  idrev_origen double precision,
  idrev_destino double precision,
  valor integer
)
WITH (
  OIDS=FALSE
);


A partir de ellas, pretendo crear la siguiente consulta:

INSERT INTO iteracion1 SELECT tabla_enlaces_rev_rev_nodupl_agrup.idrev_origen, 
tabla_enlaces_rev_rev_nodupl_agrup.idrev_destino, 
tabla_enlaces_iteracion1.id_cat, tabla_enlaces_rev_rev_nodupl_agrup.valor
FROM tabla_enlaces_iteracion1 INNER JOIN tabla_enlaces_rev_rev_nodupl_agrup ON 
tabla_enlaces_iteracion1.id_rev = 
tabla_enlaces_rev_rev_nodupl_agrup.idrev_destino


La tabla iteracion1 estaría definida de esta forma:

CREATE TABLE iteracion1
(
  idrev_origen double precision,
  idrev_destino double precision,
  id_cat integer,
  valor integer
)
WITH (
  OIDS=FALSE
)

El problema por el que les pido ayuda es que al ejecutarse la consulta (cuyo 
fin es almacenar la información en la tabla iteracion1), si bien, el 
funcionamiento es completamente correcto, el consumo de espacio físico en el 
disco duro es bestial, correspondiendo aproximádamente a unos 20 Gb por cada 8 
millones de registros almacenados (aproximádamente). No soy un usuario experto 
en el mundo de las bases de datos, pero me parece que este consumo de espacio 
es exagerado para una tabla que únicamente contiene números. Espero que puedan 
ayudarme con sus sugerencias para la optimización de la consulta planteada. 
Quizá sea cosa de mantenimiento del sistema, pero la verdad es que estoy 
totalmente perdido ahora mismo.

Gracias de antemano!

                                          

Responder a