Share via


Gerenciando o tamanho da transação

Baixar Driver JDBC

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 colocar uma chamada de retorno no bloco catch e uma chamada de confirmação em um bloco finally. No entanto, essa prática depende do design de seu aplicativo.

Mantenha o tamanho de suas transações breves para melhorar a simultaneidade. 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, use a configuração de tempo limite de bloqueio se o aplicativo espera algum problema de bloqueio. É possível fazer isso usando o método setLockTimeout. O padrão do tempo limite é -1, o que significa que ele será bloqueado indefinidamente enquanto aguarda o 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.

Confira também

Melhorando o desempenho e a confiabilidade com o JDBC Driver