Condividi tramite


Gestione delle dimensioni delle transazioni

Scaricare il driver JDBC

Quando si lavora con le transazioni, è importante usare transazioni il più brevi possibile. La modalità predefinita di commit automatico, che è possibile abilitare o disabilitare usando il metodo setAutoCommit, consente di eseguire automaticamente il commit di ogni azione. Per la maggior parte degli sviluppatori, si tratta della modalità più semplice con cui lavorare.

Quando si utilizzano transazioni manuali, assicurarsi che il codice esegua il commit della transazione il più rapidamente possibile. Se una transazione viene tenuta aperta, gli altri utenti non possono accedere ai dati. Quando si programma, è consigliabile inserire una chiamata di rollback nel blocco catch e una chiamata di commit nel blocco finally. Questa prassi tuttavia dipende dalla progettazione dell'applicazione.

Limitare le dimensioni delle transazioni per migliorare la concorrenza. Se, ad esempio, si avvia una transazione manuale e si modificano 10.000 righe in una tabella costituita da 20.000 righe, metà tabella sarà bloccata per tutti gli altri utenti, anche se stanno solo leggendo i dati. Riducendo le modifiche a 2.000 righe, si lascia disponibile il 90% della tabella.

Assicurarsi inoltre di usare l'impostazione di timeout del blocco se per l'applicazione si prevedono situazioni di blocco. È possibile impostare il timeout usando il metodo setLockTimeout. L'impostazione predefinita per il timeout del blocco è -1, che significa che il blocco ha un tempo indefinito. È possibile impostare il timeout del blocco su 30 secondi, per consentire il timeout della connessione bloccata dopo 30 secondi in caso di blocco da parte di un'altra connessione.

Vedi anche

Uso del driver JDBC per il miglioramento di prestazioni e affidabilità