[firebase-br] Tabela lenta

Edgard Kaschel Neto ekneto em gmail.com
Ter Ago 11 09:03:56 -03 2015


Bom dia Fabio
Vc já tentou deixar os campos "calculaveis" simplesmente com o tipo e como
null, e fazer uma inserção via Stones Procedure (onde ali vc faria os
cálculos a partir dos primeiros campos inseridos?
Creio que facilitaria inclusive na manutenção.
Abs
Em 11/08/2015 08:03, "Fabio Cardoso" <fabio em alcanceweb.com.br> escreveu:

> Olá Joel, na verdade sim, mas o cliente irá geralmente atualizar todos os
> campos de uma vez. Aí ele terá que clicar no botão "Novo" e "Salvar"
> diversas vezes, não ficará bom.
>
> att,
> Fabio.
>
> Em 11/08/2015 07:36, Joel escreveu:
>
>> Você já pensou em fazer uma tabela BEM menor, criando um campo para
>> classificar cada tipo ?
>>
>> Ou seja
>>
>> id not null
>> codigo integer not null
>> contrato integer not null
>> servico integer not null
>> previso numeric(15,2)
>> realizado numeric(15,2)
>> diferenca compyted by ...
>> percentual computed by ....
>>
>> Tentando ajudar.
>>
>>
>> Em Seg, 2015-08-10 às 23:11 -0300, Fabio Cardoso escreveu:
>>
>>> Amigos,
>>>
>>> Uso FB 2.5. Tenho uma tabela com 136 colunas, nas quais a estrutura é
>>> assim:
>>>
>>>       CODIGO                                              INTEGER NOT
>>> NULL
>>>       CODIGOCONTRATO                          INTEGER NOT NULL
>>>       CODIGOSERVICO                              INTEGER NOT NULL
>>>       FOLHADEPAGTO_PREVISTO           NUMERIC(15,2)
>>>       FOLHADEPAGTO_REALIZADO        NUMERIC(15,2)
>>>       FOLHADEPAGTO_DIFERENCA        COMPUTED BY (FOLHADEPAGTO_REALIZADO -
>>> FOLHADEPAGTO_PREVISTO)
>>>       FOLHADEPAGTO_PERCENTUAL    COMPUTED BY
>>> (iif(FOLHADEPAGTO_DIFERENCA=0 or
>>>
>>> FOLHADEPAGTO_PREVISTO=0,0,FOLHADEPAGTO_DIFERENCA/FOLHADEPAGTO_PREVISTO)*100)
>>>
>>> Onde, além de informar o código de contrato e código de serviço, o
>>> usuário tem que informar o valor PREVISTO  e o valor REALIZADO de cada
>>> serviço, onde o Firebird irá calcular com isso a diferença do previsto e
>>> realizado e a porcentagem dessa diferença. Acontece que, além da folha
>>> de pagamento, o usuário tem mais uns 30 itens de previsto e realizado a
>>> informar. Ou seja, dos 136 campos, o usuário informa metade dos campos e
>>> o Firebird calcula a outra metade.
>>>
>>> Está funcionando ok, mas tenho apenas cinco registros, ainda está nos
>>> testes, e para cada insert ou posto que faço, o sistema "pensa" por uns
>>> 3 segundos. São umas cinquenta colunas a calcular a cada post, mas são
>>> operações básicas. O que estou fazendo de errado?
>>>
>>> um abraço,
>>> Fabio.
>>>
>>> ---
>>> Este email foi escaneado pelo Avast antivírus.
>>> https://www.avast.com/antivirus
>>>
>>>
>>> ______________________________________________
>>> 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://www.firebase.com.br/pesquisa_lista.html
>>>
>>
>>
>> ______________________________________________
>> 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://www.firebase.com.br/pesquisa_lista.html
>>
>
>
> ---
> Este email foi escaneado pelo Avast antivírus.
> https://www.avast.com/antivirus
>
>
> ______________________________________________
> 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://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista