[firebase-br] Select Demora

Thiago Balbino tbalbinos em gmail.com
Qua Nov 11 10:23:51 -03 2009


Bom dia pessoal, tem um sql que quando eu executo ele no IBExpert ele
executa rapidim, porem na minha aplicação demora muito em torno de 15
segundos.

Minha aplicação é Delphi7 + DbExpress(SqlDataset + DataSetProvide +
ClientDataset) + Fbird.. o que pode ser essa demora qualquer coisa eu
passo o acesso remoto pra quem quiser dar uma olhada.

Eis o SELECT....

SELECT  pe.DfPlacaVeiculo,
  DfIdPedido, DfNumeroPedido, pe.DfIdTransFiscal, DfDataPedido,
  DfDataMovimento, pe.DfEntidade, pe.DfIdCarteira, pe.DfIdEntidade,
  DfNumeroOrigem, pe.DfIdUnidade, pe.DfIdVendedor, pe.DfIdLocEntrega,
  pe.DfIdTransportador, pe.DfIdPortador, pe.DfIdPlanoPagamento,
  pe.DfIdUsuario, DfValFrete, DfAliqFrete, DfIncFrete, DfCIFFOB,
  DfValEmbalagem, DfNumCarga, DfEspecieCarga, DfMarcaVolume,
  DfQtdCarga, DfPercDesconto, DfValDesconto, DfMsgFiscal,
  pe.dfvalorliquidopedido, DfStatusAnCredito, DfStatusFormacCarga,
  DfStatusRomaneio, DfStatusFaturamento, DfStatusExpedicao,
  DfStatus, pe.DfObservacao, DfIdNumNatOperacao, pe.dfvalorbrutopedido,
  DfPesoLiqCarga, DfPesoBrutoCarga, DfDataEntrega, DfDescTransFiscal,
  un.DfRazSocUnidade, DfNomeUsuario, pe.DfIdVeiculo,
  DfIdNumMapaFormacaoCarga, e.dflogradouro, e.dfbairro,
  mu.dfnomemunicipio, re.DfDescRegional, ro.DfDescRota,pe.dfidpessoa,
  CASE pe.DfEntidade
    WHEN 0 THEN pcl.DfNomePessoa
    WHEN 1 THEN pfo.DfNomePessoa
    WHEN 2 THEN ppr.DfNomePessoa
    WHEN 3 THEN pve.DfNomePessoa
    WHEN 4 THEN pfu.DfNomePessoa
    WHEN 5 THEN pve.DfNomePessoa
    WHEN 6 THEN pca.DfNomePessoa
    WHEN 7 THEN pve.DfNomePessoa
    WHEN 8 THEN ptr.DfNomePessoa
    WHEN 9 THEN pde.DfNomePessoa
  END AS NomedaEntidade,
 pvel.DFNOMEPESSOA AS NomedoVendedor,
pe.DFSTATUSFATURAMENTO, tf.DFTIPOMOVIMENTO,DFORDEMENTREGA
FROM tbPedido pe
LEFT JOIN TBVENDEDOR vel ON  pe.DFIDVENDEDOR=vel.DFIDVENDEDOR
LEFT JOIN TBPESSOA pvel ON pvel.DFIDPESSOA=vel.DFIDPESSOA
LEFT JOIN tbTransFiscal tf ON tf.DfIdTransFiscal=pe.DfIdTransFiscal
LEFT JOIN tbUnidade un ON un.DfIdUnidade=pe.DfIdUnidade
LEFT JOIN tbUsuario us ON us.DfIdUsuario=pe.DfIdUsuario
LEFT JOIN tbCliente cl ON cl.DfIdCliente=pe.DfIdEntidade
LEFT JOIN tbPessoa pcl ON pcl.DfIdPessoa=cl.DfIdPessoa
LEFT JOIN tbFornecedor fo ON fo.DfIdFornecedor=pe.DfIdEntidade
LEFT JOIN tbPessoa pfo ON pfo.DfIdPessoa=fo.DfIdPessoa
LEFT JOIN tbProdutor pr ON pr.DfIdProdutor=pe.DfIdEntidade
LEFT JOIN tbPessoa ppr ON ppr.DfIdPessoa=pr.DfIdPessoa
LEFT JOIN tbVendedor ve ON ve.DfIdVendedor=pe.DfIdEntidade
LEFT JOIN tbPessoa pve ON pve.DfIdpessoa=ve.DfIdPessoa
LEFT JOIN tbFuncionario fu ON fu.DfIdFuncionario=pe.DfIdEntidade
LEFT JOIN tbPessoa pfu ON pfu.DfIdPessoa=fu.DfIdPessoa
LEFT JOIN tbCarreteiro ca ON ca.DfIdCarreteiro=pe.DfIdEntidade
LEFT JOIN tbPessoa pca ON pca.DfIdPessoa=ca.DfIdPessoa
LEFT JOIN tbTransportador tr ON tr.DfIdTransportador=pe.DfIdEntidade
LEFT JOIN tbPessoa ptr ON ptr.DfIdPessoa=tr.DfIdPessoa
LEFT JOIN tbUnidade de ON de.DfIdUnidade=pe.DfIdEntidade
LEFT JOIN tbPessoa pde ON pde.DfIdPessoa=de.DfIdPessoa
LEFT JOIN tbendereco e ON e.dfidendereco=pe.dfidlocentrega
LEFT JOIN tbmunicipio mu ON mu.dfidmunicipio=e.dfidmunicipio
LEFT JOIN tbRegional re ON re.DfIdRegional=cl.DfIdRegional
LEFT JOIN tbRota ro ON ro.DfIdRota=cl.DfIdRota
LEFT JOIN tbVeiculo vo ON vo.DfIdVeiculo=pe.DfIdVeiculo
WHERE ((DfIdNumMapaFormacaoCarga =:MAPA AND DfStatusFormacCarga ='S')
OR (DfStatusFormacCarga ='N')) AND
      ((tf.DfAnaliseCredito ='S' AND DfStatusAnCredito ='S') OR
(tf.DfAnaliseCredito ='N'))
      AND (un.dfidgrau1= :GRAU1 and un.dfidgrau2= :GRAU2 and
un.dfidgrau3<> :GRAU3)

Desde ja agradeço

att
-- 
Thiago de Souza Balbino

Analista de Sistemas / Programador
Meta Tecnologia e Sistemas - Muriaé / MG
(32) 3721 - 8729
(32) 8867 - 8729
MSN: thiagodeb em hotmail.com




Mais detalhes sobre a lista de discussão lista