Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Quando trabalha com transações, é importante manter as suas transações o mais breves possível. O modo padrão de autocommit, que podes ativar ou desativar usando o método setAutoCommit, efetuará commit de cada ação automaticamente. Este modo é o mais fácil de trabalhar para a maioria dos programadores.
Quando utilizar transações manuais, certifique-se de que o seu código efetua a transação o mais rapidamente possível. Manter uma transação aberta bloqueia outros utilizadores de aceder aos dados. Por exemplo, uma boa prática de programação pode ser colocar uma chamada de rollback no seu bloco de captura e uma chamada de commit no finally bloco. No entanto, esta prática depende do design da sua aplicação.
Mantenha o tamanho das suas transações pequeno para melhorar a concorrência. Por exemplo, se iniciar uma transação manual e modificar 10.000 linhas numa tabela de 20.000 linhas, terá metade da tabela bloqueada para todos os outros utilizadores, mesmo que estejam apenas a ler os dados. Reduzir as tuas modificações para 2.000 linhas deixa 90 por cento da tabela disponível.
Além disso, certifique-se de usar a configuração de tempo limite de bloqueio se a sua aplicação experienciar alguns problemas de bloqueio. Pode definir o time-out usando o método setLockTimeout . O valor padrão para o time-out do bloqueio é -1, o que significa que bloqueia indefinidamente enquanto espera pelo bloqueio. Podes definir o time-out do bloqueio para 30 segundos, o que fará com que a ligação bloqueada expire em 30 segundos se for bloqueada por outra ligação.