Maintenir la cohérence des changements liés
Un transfert de solde, par exemple, nécessite que débit et crédit réussissent ensemble. Si une seule modification est validée, l’état enregistré ne représente plus l’opération voulue.
Une transaction protège aussi une mise à jour qui lit une valeur puis écrit un résultat dépendant. Si des modifications simultanées sont possibles, choisissez l’isolation ou le verrouillage adapté à la base et à la règle métier.
Éviter les opérations longues ou externes dans la transaction
Ne gardez pas une transaction ouverte pendant une attente utilisateur, un appel réseau ou un calcul long. Une transaction prolongée retient des ressources et complique le travail concurrent.
Un e-mail, paiement ou téléversement externe ne peut généralement pas être annulé par un rollback SQL. Coordonnez ces effets via des états explicites, une outbox ou une compensation, et testez l’arrêt entre les étapes.