Partage via


Gestion de la taille des transactions

Télécharger le pilote JDBC

Il est important que les transactions utilisées soient aussi petites que possible. Le mode par défaut, la validation automatique (que la méthode setAutoCommit permet d’activer ou de désactiver), valide chaque action automatiquement. Pour la plupart des développeurs, il s’agit du mode le plus facile à utiliser.

Lorsque vous utilisez des transactions manuelles, assurez-vous que votre code valide les transactions le plus rapidement possible. Le fait de laisser une transaction ouverte empêche d'autres utilisateurs d'accéder aux données. Par exemple, en programmation, il est judicieux de placer un appel rollback dans un bloc catch et un appel commit dans un bloc finally. Toutefois, cette bonne pratique dépend de la conception de l’application.

Réduisez la taille de vos transactions pour améliorer la concurrence. Par exemple, si vous commencez une transaction manuelle et que vous modifiez 10 000 lignes dans une table en comportant 20 000, tous les autres utilisateurs se verront dans l’incapacité d’accéder à la moitié de la table, ne serait-ce que pour lire les données. La réduction de vos modifications à 2 000 lignes laisse 90 pour cent de la table disponible.

Veillez également à utiliser le paramètre de dépassement de délai d’attente de verrou si des problèmes bloquants sont attendus dans votre application. Servez-vous pour cela de la méthode setLockTimeout. La valeur par défaut du dépassement de délai d’attente de verrou est de –1, ce qui signifie que le blocage durera tant que l’application attendra le verrou. Vous pouvez le fixer à 30 secondes, ce qui provoquera au bout de 30 secondes l’expiration du délai d’attente de la connexion si elle est bloquée par une autre connexion.

Voir aussi

Amélioration des performances et de la fiabilité avec le pilote JDBC