[firebase-br] Pesquisa Muito lenta

Danilo Gomes danrgomes em gmail.com
Sáb Jan 26 09:10:52 -03 2008


Olá

  Só uma sugestão .. de repente existe a possibilidade de voce realizar todo
o processamento na procedure e retornar somente os resultados ...

t+


Em 22/01/08, Zottis <zottissistemas em brturbo.com.br> escreveu:
>
> Pessoal, tenho Select que Rodando pelo IBexpert, leva uns 6 segundos, e
> quando roda no dephi 7 com MDO, e FB 2.0.3 leva uns 2 MINUTOS isso em um
> Cliente e Não são muitos registros, o interessante é que eu tenho um outro
> banco com a mesma estrutura; Que não demora.
>
> O SQL é este:
>         With Busca do
>           Begin
>           Close;
>          SelectSQL.Clear;
>          SelectSQL.Add(' select  CR.ContaNo, CR.ClienteNo, CR.Data,
> CR.Vencimento, CR.Saldo,CR.DIASATRASO, ');
>          SelectSQL.Add(' CR.SITUACAO, CR.VLRJUROS, CR.Valor, CR.RegistroNo,
> CR.Pago, CR.TotalPago, CR.DuplicataNo, ');
>          SelectSQL.Add(' CR.desconto, CR.UsuarioNo, CR.DATAPGTO, CR.Juros,
> CR.OBS, CR.PedidoNo, CR.DESPESAS_EXTRAS, ');
>          SelectSQL.Add(' CR.dataPedido, CR.NF, CR.LojaNo, CR.TotalPedido,
> CR.Comprador, CR.FaturaNo, CR.Desconto_Taxa, ');
>
>          SelectSQL.Add(' C.RazaoSocial as RazaoSocial, C.fone as Fone,
> C.Celular as Celular, C.fax as Fax, ');
>          SelectSQL.Add(' C.Endereco as Endereco, C.CasaNO as CasaNo,
> C.bairro as Bairro, C.Cep as CEP, ');
>          SelectSQL.Add(' C.cidade as Cidade, C.Pais as Pais,
> C.NomeFantasia as nomeFantasia, C.UF as UF, ');
>          SelectSQL.Add(' C.CNPJ as CNPJ, C.complemento as complemento,
> C.contato as contato, C.email as email, ');
>          SelectSQL.Add(' C.CPF as CPF ');
>          SelectSQL.Add(' from CtaRec CR ,Clientes C where CR.ClienteNo =
> C.ClienteNo and CR.Deletado = ''N'' and');
>
>                       if radioGroup1.ItemIndex = 1 then
>                          begin
>                           SelectSQL.Add(' CR.Pago = ''S'' and');
>                          end else
>                        if radioGroup1.ItemIndex = 2 then
>                          begin
>                           SelectSQL.Add('CR.Pago =''N'' and');
>                          end;
>          SelectSQL.Add(' CR.Vencimento between :VarDataI and :VarDataF and
> ');
>          SelectSQL.Add(' CR.Clienteno = :VarClienteNo');
>          SelectSQL.Add(' order by CR.Vencimento, CR.PedidoNo, CR.ContaNo');
>           ParamByName('VarDataI').AsDate:=Data1.Date;
>           ParamByName('VarDataF').AsDate:=Data2.Date;
>           ParamByName('VarClienteNo').AsInteger  := Cliente_Atual;
>           Prepare;
>           Open;
>           End;
>
> Os Indices
> /****                             Foreign Keys
> ****/
> ALTER TABLE CTAREC ADD CONSTRAINT FK_CTAREC_CLI_NO FOREIGN KEY (CLIENTENO)
> REFERENCES CLIENTES (CLIENTENO) ON DELETE CASCADE ON UPDATE CASCADE;
> ALTER TABLE CTAREC ADD CONSTRAINT FK_CTAREC_LJ_NO FOREIGN KEY (LOJANO)
> REFERENCES EMPRESA (LOJANO) ON DELETE CASCADE ON UPDATE CASCADE;
> ALTER TABLE CTAREC ADD CONSTRAINT FK_CTAREC_REG_NO FOREIGN KEY
> (REGISTRONO) REFERENCES REGISTROS (REGISTRONO);
>
> /****
> Indices                                ****/
> CREATE INDEX CTAREC_IDX_DATA ON CTAREC (DATA);
> CREATE INDEX CTAREC_IDX_DELETADO ON CTAREC (DELETADO);
> CREATE INDEX CTAREC_IDX_PAGO ON CTAREC (PAGO);
> CREATE INDEX CTAREC_IDX_VENC ON CTAREC (VENCIMENTO);
>
>
>
> Zottis
>
> "Um homem só tem o direito de olhar
> a um outro de cima para baixo, quando
> vai ajuda-lo a levantar-se".
>                   Gabriel Garcia Marquez
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista