Quand est-ce que MySQL valide ou annule implicitement une transaction? <<< |
Détection des blocages et annulation | Comment gérer les blocages de verrous? >>> |
16.11 Modèle de transactions et verrouillage InnoDB 16 Tables InnoDB Manuel de Référence MySQL 4.1 : Version Française . InnoDB et AUTOCOMMIT . InnoDB et SET ... TRANSACTION ISOLATION LEVEL ... . Lecture cohérente non-bloquante . Verrous de lecture SELECT ... FOR UPDATE et SELECT ... LOCK IN SHARE MODE . Verrou de clé suivante : éviter le problème des lignes fantômes . Un exemple de lecture cohérente avec InnoDB . Les verrous posés par différentes requêtes SQL avec InnoDB . Quand est-ce que MySQL valide ou annule implicitement une transaction? ->Détection des blocages et annulation . Comment gérer les blocages de verrous? |
16.11.9 Détection des blocages et annulation
InnoDB détecte automatiquement les blocages de transactions et annule une ou plusieurs transactions pour l'éviter. Depuis la version 4.0.5, InnoDB va essayer d'annuler les petites transactions. La taille de la transaction est déterminée par le nombre de lignes qu'elle a inséré, modifié ou effacé. Avant la version 4.0.5, InnoDB annulait toujours la transaction qui avait posé le dernier verrou avant le blocage, c'est à dire, un cycle dans le graphe des transactions. InnoDB ne peut pas détecter les blocages causés par la commande MySQL LOCK TABLES , ou si un verrou est posé par un autre gestionnaire de table que InnoDB . Vous devez résoudre ces situations avec l'option innodb_lock_wait_timeout du fichier de configuration.Lorsque InnoDB effectue une annulation de transaction, tous les verrous de cette transaction sont libérés. Cependant, si une commande SQL est annulée pour cause d'erreur, certains verrous de la transaction peuvent être conservés. Deci est dû au fait que InnoDB enregistre les verrous dans un format qui ne permet pas de savoir qui l'a posé. |
<< | Détection des blocages et annulation | >> |
Quand est-ce que MySQL valide ou annule implicitement une transaction? | Modèle de transactions et verrouillage InnoDB | Comment gérer les blocages de verrous? |