[firebase-br] Problemas Com "LEFT OUTER JOIN"

Mateus F. Ricci | ORION Technology mateus.ricci em oriontechnology.com.br
Qui Jul 2 14:00:45 -03 2009


Olá, está ocorrendo um problemão aqui comigo... por favor, me ajudem...

 

Coloco a seguinte instrução: (nas tabelas existem muitos registros: pedido =
49.627, Notas = 7.111, Notas_Pedidos = 27.088) e a instrução retorna 45.314
registros

select

   p.cod,

   p.data,

   p.total,

case p.status

when 0 then 'ABERTO'

when 1 then 'ENTREGUE'

when 2 then 'ENTREGUE E RECEBIDO'

when 3 then 'RECEBIDO'

when 4 then 'ENCERRADO'

end as status,

    n.nf,

    n.emissao

from

  pedido p left outer join notas_pedidos np on (p.cod = np.pedido) left
outer join notas n on (n.id = np.nota)

where

  p.codcliente = 2

order by

  p.data desc,

  p.cod

 

------ Performance info ------

Prepare time = 47ms

Execute time = 18m 41s 562ms

Avg fetch time = 59.029,58 ms

Current memory = 15.351.072

Max memory = 15.352.932

Memory buffers = 2.048

Reads from disk to cache = 2.587

Writes from cache to disk = 0

Fetches from cache = -1.840.952.896

 

Porém, a mesma instrução com os mesmos dados no ORACLE retorna os dados em
menos de 3 segundos

 

Como resolver isso no firebird...

 

Se precisarem, eu mando a minha base de dados pra vocês, mas preciso urgente
resolver isso no firebird...

 

Muito obrigado

 

Mateus Felipe Ricci

 




Mais detalhes sobre a lista de discussão lista