- Tema Autor
- #1
que tal bakunos :eolo: pues aqui exponiendo una bronca la cual no logro arreglar
la onda es que realizo dos consultas para obtener datos de ahorro y prestamo de una cuenta entonces como algunas cuentas no tienen prestamos o ahorro uso outer join para que asi tenga el mismo numero de rows y poder mostrarla sin problema pero la onda esta en que mi consulta de ahorro tarda aprox 60s!:comillas: y no logro dar por que o de que manera optimizarla , ya que la de prestamos es muy parecida y solo tarda 0.6s 
aqui se las dejo y espero comentarios gracias
unzadita:
préstamos
select a.numerocuenta, sum(p.SaldoMonto + p.SaldoInteres ) as ahorro from jos_fh_prestamos p right outer join jos_fh_cuenta_asociado a
on a.numerocuenta=p.numerocuenta and p.fechaprimerpago >= (SELECT min(f.FechaInicio) FROM jos_fh_fechas_corte as f where published=0) AND p.Fechaprimerpago <=(SELECT max(f.FechaFin) FROM jos_fh_fechas_corte as f where published=0)
where a.id_empresa=1
group by numerocuenta
order by numerocuenta
ahorros
select a.numerocuenta, sum(c.fondoahorro) as ahorro from jos_fh_ahorros c right outer join jos_fh_cuenta_asociado a
on a.numerocuenta=c.numerocuenta and c.estado=0
where a.id_empresa=1 and a.numerocuenta=c.numerocuenta
group by a.numerocuenta
order by a.numerocuenta
cabe mencionar que trabajo solo con tres tablas Ahorro, prestamos, cuenta_asociados las cuales relaciono con el registro numerocuenta


aqui se las dejo y espero comentarios gracias

préstamos
select a.numerocuenta, sum(p.SaldoMonto + p.SaldoInteres ) as ahorro from jos_fh_prestamos p right outer join jos_fh_cuenta_asociado a
on a.numerocuenta=p.numerocuenta and p.fechaprimerpago >= (SELECT min(f.FechaInicio) FROM jos_fh_fechas_corte as f where published=0) AND p.Fechaprimerpago <=(SELECT max(f.FechaFin) FROM jos_fh_fechas_corte as f where published=0)
where a.id_empresa=1
group by numerocuenta
order by numerocuenta
ahorros
select a.numerocuenta, sum(c.fondoahorro) as ahorro from jos_fh_ahorros c right outer join jos_fh_cuenta_asociado a
on a.numerocuenta=c.numerocuenta and c.estado=0
where a.id_empresa=1 and a.numerocuenta=c.numerocuenta
group by a.numerocuenta
order by a.numerocuenta
cabe mencionar que trabajo solo con tres tablas Ahorro, prestamos, cuenta_asociados las cuales relaciono con el registro numerocuenta