Maison >base de données >tutoriel mysql >Comment utiliser le verrouillage d'intention d'insertion MySQL
1. Le verrou d'intention d'insertion est un verrou d'espacement, pas un verrou d'intention, et est généré par l'opération d'insertion. Lorsque plusieurs transactions écrivent des données différentes dans le même espace d'index en même temps, il n'est pas nécessaire d'attendre la fin des autres transactions et aucune attente de verrouillage ne se produira.
Supposons qu'il existe un index d'enregistrement contenant les valeurs de clé 4 et 7, et que différentes transactions insèrent respectivement 5 et 6. Chaque transaction générera un verrou d'intention d'insertion, qui est ajouté entre 4 et 7 pour obtenir un verrou exclusif sur le. ligne insérée, mais ne se verrouille pas car les lignes de données n'entrent pas en conflit.
2. L'insertion d'un verrou d'intention ne bloquera aucun verrou, et l'insertion d'un enregistrement maintiendra un verrou d'enregistrement.
Instances
insert into test_user(user_id,name,age) values(2,'b',10) ------- TRX HAS BEEN WAITING 18 SEC FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 6628 page no 4 n bits 72 index `index_user` of table `test`.`test_user` trx id 117851203 插入意向锁 lock_mode X insert intention waiting Record lock, heap no 1 PHYSICAL RECORD: n_fields 1; compact format; info bits 0 0: len 8; hex 73757072656d756d; asc supremum;;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!