Tiempo de espera agotado...

13/12/2006 - 15:53 por Daniel G. Samborski | Informe spam
Hola, me gustaria que algun super craneo ^_^ en Store me hiciera el favor de
revisar este codigo y aconsejarme como lo podria agilizar ya que si lo
ejecuto con fecha de 01/01/1900 para que tire absolutamente todo desde lo
mas viejo a lo mas nuevo demora una eternidad.
Quizas a alguien se le pueda ocurrir una forma de agilizarlo.

A @mesAbuscar y a @FechaSol1 se le pasaria 01/01/1900 para que traiga desde
lo mas viejo a lo mas nuevo...
Las tablas tienen en promedio 100000 registros.


create procedure Filtro_busqueda_deudas (@Nrocto varchar(50)='',@CodCli
varchar(50)='',
@Social varchar(50)='',@mesAbuscar datetime, @FechaSol1 datetime) as
if year(@fechasol1)='1900'
set @fechasol1=null
if year(@mesAbuscar)='1900'
set @mesAbuscar=null

create table #t (nrocto varchar(50), nrocuo varchar(50), fecven datetime,
fecpag datetime)

insert into #t select nrocto, nrocuo, fecven, fecpag
from cuotas as a
where
fecven BETWEEN CONVERT(char(6), COALESCE(@MesAbuscar,0), 112) + '01'
AND DATEADD(day,-1, DATEADD(month, 1,
convert(char(6), COALESCE(getdate(),0), 112) + '01'))
and exists (
select *
from cuotas as b
where
b.nrocto = a.nrocto
and
fecven BETWEEN CONVERT(char(6), COALESCE(@MesAbuscar,0), 112) + '01'
AND DATEADD(day,-1, DATEADD(month, 1,
convert(char(6),COALESCE(getdate(),getdate()), 112) + '01'))
)

select cli.CodCli,cuo.nrocto,cli.NroDoc, cli.Nombre, cli.NroTel, cuo.NroCuo,
cre.Cuotas, cuo.FecVen,
cre.FecSol, com.Social, com.NroTel
from creditos cre inner join clientes cli
on cre.codcli=cli.codcli
and cre.fecsol between coalesce(@FechaSol1, 0) and coalesce(@FechaSol1,
getdate())
and (cli.codcli=@codcli or cli.codcli like @Codcli+'%')
and (cre.nrocto=@nrocto or cre.nrocto like @nrocto+'%')
inner join #t as cuo
on cre.nrocto=cuo.nrocto
and cuo.fecpag is null
and cuo.fecven between coalesce(@MesAbuscar, 0) and getdate()
inner join comercio com
on cre.codcom=com.codcom
and (com.social=@Social or com.social like @social+'%')
order by cuo.fecven, cli.nombre, cre.nrocto

drop table #t




Daniel
 

Leer las respuestas

#1 Daniel G. Samborski
13/12/2006 - 16:58 | Informe spam
Hola Alejandro, muchas gracias por la respuesta y revisare el link que me
pasas.
Tengo indice en todas las tablas, salvo la temporal...Le pondre uno.


Daniel.

"Alejandro Mesa" escribió en el
mensaje news:
Mostrar la cita

Preguntas similares