Ver Mensaje Individual
  #3  
Antiguo 08-02-2005
FlacoNet FlacoNet is offline
Miembro
 
Registrado: jun 2003
Posts: 38
Reputación: 0
FlacoNet Va por buen camino
Las tablas:
VENTAS : Tabla de ventas
VENTAS_ASO : asociacion de ventas..aqui estan los articulos que componen una venta.
ARTICULOS: Cada articulo esta asociado a un item
ITEMS : Cada Item esta asociado a un Subrubro
SUBRUBRO : Cada subrubro esta asociado a un Rubro
RUBROS: No la incorpora en la consulta por que no hace falta, filtro usando la FK de SUBRUBROS.

La cantidad de campos por tabla es:
VENTAS : 24 campos
VENTAS_ASO : 12
ARTICULOS : 27
ITEMS : 5
SUBRUBROS : 5

Código:
select sr.codigosubrub, sr.descri,
sum(cast(va.cantid as float)*va.precioventa) as total
,sum(va.cantid) as cantidad
from ventas v inner join ventas_aso va on
   v.codigoventa=va.codigoventa
   and v.codigosucurs=va.codigosucurs
inner join articulos a on
   va.codigoarticu=a.codigoarticu
inner join items i on
   a.codigoitem=i.codigoitem
inner join subrubros sr on
   i.codigosubrub=sr.codigosubrub
where
CAST(v.fecha as date) between '01.01.2005' and '31.01.2005'
and v.codigosucurs=2
and sr.codigorubro=1
group by sr.codigosubrub,sr.descri
order by 3 descending

Todos las tablas tienen PK y FK con indices en cada caso.
Todos los campos clave son integer.
y estoy filtrando por un campo que es clave foranea de tipo integer (sr.codigosubrub)

Ahora , habiendo planteado un poco mas al detalle....
Cuando aplico
Código:
 
sr.codigorubro=1
la consulta se demora 24 seg...si esto no esta se demora solo 1 seg....que pasa??

Muchas gracias por el tiempo dedicado..
Responder Con Cita