Hola foro, por lo regular no pregunto por que casi todo lo encuentro en las busquedas pero esta ocasion si necesito de su ayuda. Espero me puedan ayudar
Trabajo con D7 Interbase 6 y utilizo componentes IBX
Estoy realizando un sistema para una cadena de tiendas, en donde tengo un reporte de ventas x articulo, todo iba bien pero con el tiempo el reporte se tarda 10 MINUTOS en mostrarlo. Este reporte debe de mostrar cuantos articulos se han vendido en toda la cadena en un rango de fechas, para este reporte hago una consulta sobre una vista en donde se sacan datos de 2 tablas basicamente detalle y maestro
mi vista es la siguiente:
Código SQL
[-]CREATE VIEW VDETALLE(
IDTIENDA,
IDREFER,
IDARTICULO,
FECHA,
REFER,
CANTIDAD,
PRECIO,
COSTO,
DESCUENTO,
DESCUENTOGRAL,
PVNETO)
AS
select d.idtienda, d.idrefer, d.idarticulo, m.fecha, m.refer,
d.cantidad, d.precio, d.costo, d.descuento, m.Descuento,
d.Precio * (1 - (100-(100 * (100-d.Descuento)/100) * (100-m.Descuento)/100) /100)
from detalle d
Left join maestro m on m.idTienda = d.idtienda and m.idRefer = d.idRefer;
La consulta que estoy realizando es:
Código SQL
[-]Select sum(d.Cantidad) Cantidad, sum(d.cantidad*d.pvNeto) Venta,
sum(d.cantidad * d.costo) Costo, d.idarticulo
from vDetalle d
Where d.fecha between :wDate1 and :wDate2
Group by d.idArticulo
Código:
Tabla Maestro:
idTienda Integer (llave primaria)
idRefer Integer (llave primaria)
Fecha Date
Refer Char(10)
Nombre VarChar(70)
Impuesto Numeric 12 2
Importe Numeric 12 2
Costo Numeric 12 2
Unidades Integer
Descuento Numeric 5 2
Tabla detalle:
idTienda Integer (llave primaria)
idRefer Integer (llave primaria)
idArticulo Integer (llave primaria)
Cantidad Integer
precio Numeric 10 2
costo Numeric 10 2
Descuento Numeric 5 2
Nota: La tabla maestro tiene cerca de 2,000,000 de registros y la de detalle tiene aprox. 3,300,000 registros, la DB mide 1.3Gb y esta en un servidor windows 2000 server con 1Gb en RAM y se conectan unos 120 usuarios simultaneamente. Lo mas importante en la tabla de detalle se insertan unos 30,000 registros al dia
Cualquier sugerencia se los agradece y de antemano muchas gracias