Uma transação IB ativa durante toda a vida útil de um aplicativo de usuário único
-
22-09-2019 - |
Pergunta
Há algum impacto negativo quando um aplicativo de usuário único usa apenas uma transação IB, que fica ativa enquanto o programa é executado?Usando apenas CommitRetaining e RollbackRetaining.
Fundo:Quero usar IBQuery(s) e conectá-los a um DB Grid(s) (DevExpress), que carrega todos os registros na memória de uma só vez.Portanto, quero evitar buscar novamente todos os dados após cada comando de inserção SQL.IBTransaction.Commit fecharia o conjunto de dados.
Solução
Parece-me que você está tentando usar um recurso de banco de dados para evitar o uso TClientDataSet
, que é claramente a forma preferida de trabalhar no Delphi atualmente.Por que sair do seu caminho e usar práticas de transação questionáveis em vez de seguir o padrão mais comum para uso de componentes de banco de dados, que já é uma solução melhor para o problema em questão?
Outras dicas
Commitretão e rolagem não são bons.
A transação deve ser muito curta.