Fórum Trabalhando com transações em IBX #43416
25/03/2004
0
Em seguida vinha outro que dizia que utilizava um componente de transação para cada tabela, então fiquei na dúvida quais os pros e contras destes modelos ??? :?: :?: :?:
Sremulador
Curtir tópico
+ 0Posts
27/03/2004
Afarias
T+
Gostei + 0
29/03/2004
Sremulador
Gostei + 0
29/03/2004
Afarias
Vc pode por exemplo manter 1 transação para cada ´cadastro´ pois isso deixaria as coisas mais organizadas e permitiria q os cadastros trabalhem mais independentes (otimizando as transações) -- em outro exemplo, no caso de entradas tipo mestre-detalhe vc sempre vai usar apenas 1 transação para todas as tabelas envolvidas, já q todas participam de um processo único.
Então a ´regra´ é:: Transações não são definidas por ´tabelas´ ou ´aplicação´ -- pelo próprio conceito, transações são definidas por ´PROCESSOS´!
T+
Gostei + 0
29/03/2004
Alex_
Eu uso apenas 1 transação, mas por motivo de não querer que as tabelas se fechem (não sei por que ocorre isso no IBX) eu não uso o Commit ´seco´.
Eu uso sempre o CommitRetaing e o RollbackRetaing, para evitar que ocorra o fechamento dos dataset´s e ter que abrir tudo novamente manualmente.
A pergunta é: eu Só uso os Retaing nunca uso os Commit e Rollback ´secos´ que fecham os Dataset´s, isso pode dar algum problema para mim????
Grato,
Alex.
Gostei + 0
29/03/2004
Afarias
Oxe!! Que briga?!
|Eu uso apenas 1 transação, mas por motivo de não querer que as
|tabelas se fechem (não sei por que ocorre isso no IBX) eu não uso o
|Commit ´seco´.
Por isso mesmo vc deveria usar mais q 1 transação -- usando 1 transação para tudo e sempre usando CommitRetaining só vai ´prejudicar´ seu banco
|A pergunta é: eu Só uso os Retaing nunca uso os Commit e
|Rollback ´secos´ que fecham os Dataset´s, isso pode dar algum
|problema para mim????
SIM
Procure sempre usar Commits sempre q possível (por exemplo, quando fechar um cadastro) -- se usar uma transação para cada cadastro vai facilitar bastante.
T+
Gostei + 0
29/03/2004
Sremulador
Não entendi em que hora o meu banco de dados será prejudicado :?: :?: :?:
Gostei + 0
29/03/2004
Alex_
Gostei + 0
29/03/2004
Afarias
Bom, de forma rasteira:: quando vc não fecha as transações, não se desfaz das ´versões´ de dados -- isso com o tempo, tornará a aplicação mais lenta a cada dia -- nada q não possa se ´sanado´ com um sweep do banco.
Dêem uma olhada nestes artigos::
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=108
http://www.firebase.com.br/cgi-bin/firebase.cgi/dica?ID=331
http://www.firebase.com.br/cgi-bin/firebase.cgi/dica?ID=37
T+
Gostei + 0
29/03/2004
Alex_
Ou teria que ser o Close de cada Form?
É que eu não gostaria de usar mais de uma transação se possível. Mas gostaria de evitar essa lentidão dita a pouco.
:arrow: Pela 428ª vez agradeço.
Alex.
Gostei + 0
29/03/2004
Sremulador
Gostei + 0
29/03/2004
Afarias
|Encerrar a Aplicação e durante a aplicação usar o Retaing como já uso.
|Será que resolve, ou pelo menos minimiza o problema?
Não
|Ou teria que ser o Close de cada Form?
Preferencialmente
|É que eu não gostaria de usar mais de uma transação se possível. Mas
|gostaria de evitar essa lentidão dita a pouco.
Usar mais q 1 transação é em geral a melhor escolha
|E justamente o que eu não quero também fazer um monte de transação
|ainda mais que eu utilizo o datamodule.
Vc pode usar + q 1 data module se for o caso
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)