Select demora muito - Firebird
Boa tarde amigooos. Estou com este select:
Ele demoraaaa muuuuuito mesmo para trazer os registros. Em torno de 5 minutos. E olha que ele não traz muitos registros não, somente uns 2000.
O que pode estar acontecendo? Utilizo Firebird 2.5 e Delphi 7
select sum(coalesce(mov.estoq_ant, 0)+coalesce(mov.entrada, 0)-coalesce(mov.saida,0)) as estoque, pro.codigo, pro.nome, pro.cod_forn, pro.venda, pro.cod_tipo from produtos pro left join mov_produtos mov on(mov.cod_produto=pro.codigo) where mov.data between '01.01.2013' and '31.12.2013' group by pro.codigo, pro.nome, pro.cod_forn, pro.venda, pro.cod_tipo
Ele demoraaaa muuuuuito mesmo para trazer os registros. Em torno de 5 minutos. E olha que ele não traz muitos registros não, somente uns 2000.
O que pode estar acontecendo? Utilizo Firebird 2.5 e Delphi 7
Marlon Minotti
Curtidas 0
Respostas
Ronaldo Lanhellas
23/01/2015
Trazer poucos não significa que ele irá ser rápido, você está fazendo LEFT JOIN entre duas tabelas: produto e mov_produto. Qual a quantidade de registros de cada uma ?
GOSTEI 0
Marlon Minotti
23/01/2015
20000 produtos e 7500 mov_produtos
GOSTEI 0
Marlon Minotti
23/01/2015
Amigooooooooooooooooooooo do céu, você iluminou minha cabeça. Mudei a ordem do select e agora está trazendo rapidão.
GOSTEI 0
Marlon Minotti
23/01/2015
É... eu achei que iria resolver o problema quando o select ficasse mais ágil, porém o meu problema ainda persiste.
Vê se você pode me ajudar, estou com problema de Out of Memory. Quando eu faço o select e passo o comando:
Neste momento eu sempre recebo a mensagem "Out of Memory". Pode me ajudar?
Vê se você pode me ajudar, estou com problema de Out of Memory. Quando eu faço o select e passo o comando:
while not queryRSRS.eof then begin RSRS := queryRSRS.FieldByName('RSRS').asstring; queryRSRS.next; end;
Neste momento eu sempre recebo a mensagem "Out of Memory". Pode me ajudar?
GOSTEI 0
Douglas
23/01/2015
Marlon, tudo bem?
Quantos registros tem na Query? O erro acontece exatamente neste ponto do código?
Quantos registros tem na Query? O erro acontece exatamente neste ponto do código?
GOSTEI 0