[firebase-br] RES: RES: RES: Lentidão para abrir DB

Gladiston Santana gladiston em vidy.com.br
Sex Ago 15 11:12:06 -03 2014


Se estiver dentro dum form não use Create(Application) porque a memória só
seria liberada quando fechar o programa.
Use a herança do form Create(Self), assim quando o form for destruido, tudo
alí será destruido junto e o uso da memória será mais eficiente.
Guarde o Create(Application) só para usos em que o objeto será criado e
destruído no mesmo procedimento/função/evento.
Quando vejo um left join e não conheço a modelagem a primeira coisa que
passa na minha cabeça é se ela é eficiente o suficiente para ser colocada
numa tela principal que será chamada sempre. A segunda coisa é se realmente
precisa abrir a querie quando carrega o programa ou se não há o
comportamento prévio do usuário em digitar algo para então a pesquisa ser
aberta, porque se envolver alguma interatividade com o usuário então é
melhor não abrir a query de cara e esperar pelos parametros.

Tô meio enferrujado com ClientDataSet, mas que eu me lembre, por default,
um Grid na tela forçará um fetch_all (recuperar todos os registros numa só
tacada) ao invés de páginar os dados progressivamente.
Então se você não precisa trabalhar offline, isto é, usar delta em
clientdatasets, voce poderia melhorar bastante a performance por paginar os
dados recuperando registros a medida que se navega dentro deles e abrir mão
fetch_all que é muito ruim se a pesquisa envolver muitos registros.
Leve sua querie para dentro dum isql (talvez o flamerobin) e execute-o lá,
de lá terá uma idéia do tempo que a sua querie tá levando e comparar com o
seu programa,  com paginação de dados habilitada o seu programa
obrigatoriamente tem de se sair melhor.

inte+


Em 14 de agosto de 2014 22:45, Pineli <carlospineli em gmail.com> escreveu:

> Pessoal... achei o ponto que esta causando o problema. Na minha máquina só
> da lentidão a primeira vez que abre o banco depois é normal... mas na do
> cliente em todas as vezes que abre.
>
> é bem na hora do meuSQL1.Open ;
>
>   meuSQL1  := TSQLQuery.Create(application);
>   meuCDS   := TClientDataSet.Create(application);
>   meuPVD   := TDataSetProvider.Create(application);
>   meuPVD.DataSet        := meuSQL1;
>   meuPVD.Name           := 'meuPVD1'+inttostr(addTrans());
>   meuSQL1.SQLConnection := SQLConexao;
>   meuCDS.ProviderName   := meuPVD.Name;
>   meuCDS.Close;
>   meuSQL1.Close;
>   meuSQL1.SQL.Clear ;
>     meuSQL1.SQL.Add('SELECT c.SEQUENCIA, c.IDBAR, c.PLACA, c.CONTADOR,
> c.DESCRICAO, c.TAMPIRAMIDE, c.SERVIDOR, c.HW, c.CONTADOR_NUM, c.BATERIA,
> c.TPBATERIA, v.ERRO_CONT, v.CONTAGEM, v.SEQUENCIA');
>     meuSQL1.SQL.Add('FROM contadores c left join valores v on c.idbar =
> v.IDBAR and c.PLACA = v.PLACA and c.CONTADOR = v.CONTADOR and c.SEQUENCIA =
> v.SEQUENCIA_CONTADOR');
>     meuSQL1.SQL.Add('where v.DATA_CORRENTE = ''TODAY'' and not
> v.DATA_CORRENTE is null');
>     meuSQL1.SQL.Add('order by c.sequencia, c.servidor, c.IDBAR, c.PLACA,
> c.CONTADOR');
>
>   meuSQL1.Open ;
>   meuCDS.Close;
>   meuCDS.Open;
>
>
> Daria para fazer diferente?
>
> att:
>
>
> Em 6 de agosto de 2014 09:05, Thiago Moura Office Mineiros <
> thiago.moura em officemineiros.com.br> escreveu:
>
> > Vou passar sim, obrigado Márcio.
> >
> > Atenciosamente,
> >
> > Thiago Moura
> >
> >
> >
> >
> >
> > "
> > -----Mensagem original-----
> > De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Márcio
> Pereira
> > Enviada em: quarta-feira, 6 de agosto de 2014 08:55
> > Para: Carlos H. Cantu; FireBase
> > Assunto: Re: [firebase-br] RES: RES: Lentidão para abrir DB
> >
> > Uma Thread  aloca +ou- 2GB memoria do  seu  computador para sua aplicação
> > passe isto  para eles você pode definir o quanto  ela irá usar
> >
> >
> >
> >
> >
> > >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
--
B em B@BU     iB em M@B.  B em MBBO   MBBMMB em B@BZLr    E@@@@i      r@@@BU
vB em M@O     E em B@Bu   BBBM em 0   G em MMM@N8MBB em ZP5r  B em B@k      8B@@O
 OB em B@q   2 em BBBM    B em B@BO   BB em B@B,.:,7B em B@@L uB em B@,    OB em B@.
 ,@@@B@   @BBB@,    @BBB em 8   M em M@@@     PB em B@B  @@@BN   iB em B@L
  U em B@B2 LB em B@X     B em MBBO   MBBM em B     i em BBB@. 7 em B@Bi  B em B@E
   B@@@BiM em M@B.     @BBM em G   M em MMB@     v@@M em B,  G em B@Z v em B@B.
   7B em B@O em B@B5      B em B@B8   BBBM em B     Z@@@B@   iB@@@2 em B@Br
    NB em M@B em B8       @B em B@8   M em B@B em i:i75 em B@B em r    E@@B em B@Bq
    . em B@@@B@:       B em B@B@   @B@@@B em B@B@@@ME;     .BB em MBB@
     55.ANOS        OMOGBS   PBZGGOOMOO117,        7 em BBB@r
     ==============================================r@@@@F=====
     Gladiston Santana                             8 em B@B,
     Supervisor de TI                             G em B@B7
     Tel.:+551147873122 R:228                    :@B em B0
     Grupo VIDY - SGQ ISO9001 - 55 ANOS          @B em B@.
     Visite nosso site: www·vidy·com·br         BB@@@u
     Visite também : www·expolabor·com·br      GB em B@N



Mais detalhes sobre a lista de discussão lista