From: | "Carlos Leyn B(dot)" <cleyan(at)terra(dot)cl> |
---|---|
To: | <Pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx> |
Subject: | [Pgsql-ayuda] Consulta sobre velocidad de consultas |
Date: | 2003-02-01 02:20:31 |
Message-ID: | 3E3B2EEF.000003.02360@zeus |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Amigos!
Tengo una consulta que calcula un inventario, debo sacar los subtotales de
guias, facturas, otras salidas, importaciones, otros ingresos para cada
producto de una base de datos, inicialmente he hecho esto usando funciones
pero en casos es extremadamente lento, hablamos de minutos de espera, ahora
lo hice usando solo consultas con join pero sigue igual de lento, alguin em
puede ayudar?, experiencias?, sugerencias?, otra solucion para inventario en
linea?
De antemano gracias
Adjunto las dos consultas
Consulta 1 (usando funciones)
View "public.gvinventario"
Column | Type | Modifiers
-----------------+-----------------------+-----------
producto_id | character varying(20) |
descripcion | character varying(40) |
proveedor_id | smallint |
familia_id | smallint |
stockcrimin | integer |
stockcrimax | integer |
costo | double precision |
precio | double precision |
salidas_factura | integer |
salidas_guia | integer |
salidas_om | integer |
entradas_imp | integer |
entradas_om | integer |
stock | integer |
View definition: SELECT producto.producto_id, producto.descripcion, producto
pro
veedor_id, producto.familia_id, producto.stockcrimin, producto.stockcrimax,
prod
ucto.costo, producto.precio, int4(salidas_factura((producto
producto_id)::text))
AS salidas_factura, int4(salidas_guia((producto.producto_id)::text)) AS
salidas
_guia, int4(salidas_om((producto.producto_id)::text)) AS salidas_om,
int4(entrad
as_imp((producto.producto_id)::text)) AS entradas_imp,
int4(entradas_om((product
o.producto_id)::text)) AS entradas_om, int4(stock((producto
producto_id)::text))
AS stock FROM producto;
Consulta 2 sin funciones
View "public.gvinventario2"
Column | Type | Modifiers
-----------------+-----------------------+-----------
producto_id | character varying(20) |
descripcion | character varying(40) |
proveedor_id | smallint |
familia_id | smallint |
stockcrimin | integer |
stockcrimax | integer |
costo | double precision |
precio | double precision |
salidas_factura | bigint |
salidas_guia | bigint |
entradas_om | bigint |
salidas_om | bigint |
entradas_imp | bigint |
View definition: SELECT producto.producto_id, producto.descripcion, producto
pro
veedor_id, producto.familia_id, producto.stockcrimin, producto.stockcrimax,
prod
ucto.costo, producto.precio, sum(factura.qty) AS salidas_factura, sum(guia
qty)
AS salidas_guia, sum(otrosmovimientos.entrada) AS entradas_om,
sum(otrosmovimien
tos.salida) AS salidas_om, sum(importacion.qty) AS entradas_imp FROM
((((product
o LEFT JOIN factura ON ((producto.producto_id = factura.producto_id))) LEFT
JOIN
guia ON ((producto.producto_id = guia.producto_id))) LEFT JOIN
otrosmovimientos
ON ((producto.producto_id = otrosmovimientos.producto_id))) LEFT JOIN
importaci
on ON ((producto.producto_id = importacion.producto_id))) WHERE (guia
facturada
= false) GROUP BY producto.producto_id, producto.descripcion, producto
proveedor
_id, producto.familia_id, producto.stockcrimin, producto.stockcrimax,
producto.c
osto, producto.precio;
From | Date | Subject | |
---|---|---|---|
Next Message | Antonio Castro | 2003-02-01 08:16:03 | Re: [Pgsql-ayuda] Consulta sobre velocidad |
Previous Message | Alvaro Herrera | 2003-01-31 21:48:47 | Re: [Pgsql-ayuda] Consulta sobre velocidad |