[firebase-br] Tabela lenta
Joel
big.rid.listas em gmail.com
Ter Ago 11 07:36:30 -03 2015
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
Mais detalhes sobre a lista de discussão lista