Bom dia!
Tenho um script SQL relativamente simples para consulta, que usa um select e um subselect mas, no entanto, ele está com um retardo enorme. O código é esse:
select P.COD_BARRAS, P.classfiscal as NCM, P.nm_produto, P.unidade, COD_BARRAS
as EAN, coalesce(P.ipi, 0) as IPI, P.ecf_aliquota, P.substtributaria FROM PRODUTOS P WHERE CD_PRODUTO
IN (SELECT CD_PRODUTO FROM pedido_item JOIN pedido ON PEDIDO.id_pedido = PEDIDO_ITEM.id_pedido
WHERE DATA_HORA BETWEEN :DE AND :ATE and TIPO_DOCUMENTO = 'V' and TIPO_VENDA = 'E'
and PEDIDO.CANCELADO <> 'V' and PEDIDO_ITEM.CANCELADO <> 'V')
A performasse dele é essa:
[color=blue]------ Performance info ------
Prepare time = 0ms
Execute time = 1m 7s 906ms
Current memory = 17.639.756
Max memory = 18.021.016
Memory buffers = 2.048
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 55.681.942[/color]
Estou usando Firebird, versão 2.5. Alguém sabe dizer por que isso está acontecendo? Esse código está com todo esse retardo executando no próprio IBExpert. A data que estou passando como parâmetro é essa:
08/05/2012 00:00:00
Alguém sabe dizer onde está o problema? Obrigado.
