RES: [firebase-br] Tabelas Temporárias P/ AIRTON SALVIANO
Adilson B. Cápua Jr.
juniorcapua em yahoo.com.br
Qua Jul 27 01:52:03 -03 2005
Prezado Airton,
Baixei o trial da ferramenta IBAnalyst e ele me mostrou na cor
vermelha
um problema com um certo índice em uma tabela no meu banco. Foi reportado
que
existiam muitas chaves com valores iguais. Esse índice foi criado
pelo próprio FB quando eu criei um FK para esta tabela. Na verdade é uma
tabela de clientes e a FK era para uma tabela de GRUPOS. Para fazer um
teste,
eu removi essa FK... Na minha aplicação praticamente não mudou nada e agora
ele diz que está tudo ok... Sempre usei FK's para "amarrar" registros...
Agora eu fiquei com um tremenda dúvida... Não sei se mantenho a FK,
pois
assim amarro o grupo (na tabela cliente) ao grupo na tabela GRUPO ou se
deixo
sem...
Por exemplo, praticamente em todas as minhas tabelas eu tenho uma
chave FK
que aponta para uma tabela principal. É uma tabela FILIAL em uma aplicação
comercial e todas a outras possuem FK para Filial! Olhando novamente o
IBAnalyst,
ela tá me reportando que uma outra tabela poderá ter problema (está em
vermelho)
e novamente o problema é com a FK Filial!!!
Será que você poderia me dar alguma idéia melhor sobre isso...
Mantenho ou
tiro essas FK's???
Grato pela ajuda!!!
[]'s
+---------------------------------------+
Adilson Bragança Cápua Jr.
Linhares - ES Brasil
mailto : juniorcapua em yahoo.com.br
juniorcapua em gmail.com
Mobile : abcjr em oi.com.br
Messenger : juniorcapua em hotmail.com
Blogger : www.dellas.rg3.net
+---------------------------------------+
Save a tree! Send an e-mail!
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Forum ASR & Associados
Enviada em: terça-feira, 26 de julho de 2005 05:29
Para: FireBase
Assunto: Re: [firebase-br] Tabelas Temporárias
Existe outra forma de fazer isso:
>> Primeiro veja o que é feito no backup e restore:
http://www.comunidade-firebird.org/cflp/downloads/CFLP_T020.PDF
>> A solução
http://mail.firebase.com.br/pipermail/lista_firebase.com.br/2004-November/00
2366.html
Existe uma ferramenta de análise dos bancos firebird: ibanalyst
(http://www.ibanalyst.com/)
Quando vc faz a análise do banco de dados ele aconselha a utilização do
sweep com valor 0 (não deixa lixo no banco de dados)
Espero ter ajudado ....
Atenciosamente,
Airton Salviano
Analista de Sistemas
www.asreassociados.com.br
Adilson B. Cápua Jr. wrote:
>PessoALL,
>
> Estou usando Delphi 7 + DBX + FB 1.5!
> No meu projeto, tenho vários processos (uns 30) que são executados
>através de SP's que por sua vez alimentam tabelas temporárias no
>próprio banco, aos quais utilizo somente para exibições em alguns
>relatórios ou mesmo telas. Sempre que vou executar algum processo
>desse, antes faço um "DELETE FROM TABELA"
>na própria SP.
> Bom, minha dúvida é a seguinte: já li que quando um registro é
>deletado, o Firebird simplesmente apaga o mesmo, mas o espaço físico
>que esse registro utilizou fica lá, sendo que FB continua, vamos assim
>dizer, aumentando o tamanho do banco para novos registros.
>Agora imagine que vários desses processos que citei acima são
>executados diversas vezes. Estou imaginando que o banco irar crescer
>bastante, sendo que depois de um backup e restore tudo voltará ao seu
>tamanho real (alguém, por favor, me corrija se eu estiver errado).
>Portanto, como posso resolver essa situação? Já pensei em usar tabelas
>em memória (tenho até alguns componentes para isso), mas creio que irei
>"matar" toda a performance do programa, visto que os processos são
>executados dentro de SP's. As mesmas podem ser complexas, como uma que
>tenho que calcula a curva ABC de estoque. Foi toda feita através de
>select's e cálculos dentro do próprio banco. A velocidade da mesma para
>execução é fantástica! Rapidinho ela fica pronta para análise! Muitas
>vezes, preciso checar se determinado registro existe na tabela para
>poder inserir (caso não exista) ou atualizar (caso o mesmo já exista) e
>nem imagino como fazer utilizando tabelas temporárias na aplicação.
> Como é que vocês tratam casos como esse?
> Existe alguma maneira mais "elegante" de fazer isso?
> Qualquer idéia, dica ou macete é muito bem vindo!!!
>
>Forte Abraço!
>
>+---------------------------------------+
> Adilson Bragança Cápua Jr.
> Linhares - ES Brasil
>
> mailto : juniorcapua em yahoo.com.br
> juniorcapua em gmail.com
> Mobile : abcjr em oi.com.br
> Messenger : juniorcapua em hotmail.com
> Blogger : www.dellas.rg3.net
>+---------------------------------------+
> Save a tree! Send an e-mail!
>
>
>
>
>
>_______________________________________________________
>Yahoo! Acesso Grátis - Internet rápida e grátis.
>Instale o discador agora! http://br.acesso.yahoo.com/
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
>
>
--
Esta mensagem foi verificada pelo sistema de anti-virus e acredita-se estar
livre de perigo.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis.
Instale o discador agora! http://br.acesso.yahoo.com/
Mais detalhes sobre a lista de discussão lista