Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Quando se trabalha com transações, é importante manter suas operações o mais breve possível. O modo padrão de confirmação automática, que é possível habilitar ou desabilitar usando o método setAutoCommit, confirmará todas as ações para você. Trata-se do modo mais fácil de trabalhar com a maioria dos desenvolvedores.
Ao usar transações manuais, certifique-se de que o código confirme a transação o mais rápido possível. A manutenção de uma transação em aberto impede outros usuários de acessarem os dados. Por exemplo, uma boa prática de programação pode ser fazer uma chamada de rollback no bloco catch e uma chamada de commit no bloco finally. No entanto, essa prática depende do design de seu aplicativo.
Mantenha o tamanho das suas transações pequeno para melhorar a concorrência. Por exemplo, se você iniciar uma transação manual e modificar 10.000 linhas em uma tabela de 20.000 linhas, você estará bloqueando metade da tabela para todos os outros usuários, mesmo que eles só estejam lendo os dados. A redução das modificações para 2.000 linhas disponibiliza 90 por cento da tabela.
Além disso, não deixe de usar a configuração de tempo limite de bloqueio se a aplicação puder enfrentar alguns problemas de bloqueio. Você pode definir o tempo limite usando o método setLockTimeout. O valor padrão do tempo limite de bloqueio é -1, o que significa que ele ficará bloqueado indefinidamente enquanto aguarda a obtenção do bloqueio. É possível definir o tempo limite de bloqueio para 30 segundos, o que levará a conexão bloqueada a expirar em 30 segundos, se houver bloqueio por outra conexão.