Tables InnoDB <<< |
InnoDB et AUTOCOMMIT | InnoDB et SET ... TRANSACTION ISOLATION LEVEL ... >>> |
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.1 InnoDB et AUTOCOMMITAvec InnoDB , toutes les opérations sont placées dans une transaction. Si le mode d'auto-validation est activé, chaque commande SQL est une transaction à part entière. MySQL démarre toujours une nouvelle transaction lorsque le mode d'auto-validation est activé. Si l'auto-validation est désactivée avec SET AUTOCOMMIT = 0 , alors nous pouvons considérer qu'une transaction est toujours commencée. Une commande SQL COMMIT ou ROLLBACK termine la transaction courante et en commence une autre. Ces deux commandes vont libérer tous les verrous InnoDB qui étaient posés durant la transaction. Un COMMIT signifie que les modifications durant la transaction seront enregistrés, et rendus visibles aux autres. Un ROLLBACK , d'un autre coté, annule toutes les modifications. Si la connexion a activé l'auto-validation, l'utilsiateur peut faire une transaction multi-commandes en commençant la transaction avec la commande START TRANSACTION ou BEGIN et en la terminant avec COMMIT ou ROLLBACK . |
<< | InnoDB et AUTOCOMMIT | >> |
Tables InnoDB | Modèle de transactions et verrouillage InnoDB | InnoDB et SET ... TRANSACTION ISOLATION LEVEL ... |