Maison  >  Article  >  base de données  >  Comment utiliser le verrouillage des espaces MySQL

Comment utiliser le verrouillage des espaces MySQL

王林
王林avant
2023-06-02 21:56:281107parcourir

Explication

1. Lorsque nous utilisons des conditions de plage pour récupérer des données et demander des verrous partagés ou exclusifs, InnoDB verrouillera les éléments d'index des enregistrements de données existants qui remplissent les conditions pour les valeurs clés qui se trouvent dans la plage de conditions mais ; ne sont pas Les enregistrements qui existent sont appelés des lacunes.

2. InnoDB verrouillera également cet espace. Ce mécanisme de verrouillage est ce qu'on appelle le verrouillage d'espace.

Remarque

Si la condition d'exécution est que la plage est trop grande, InnoDB verrouillera toutes les valeurs de clé d'index dans toute la plage, ce qui peut facilement affecter les performances.

Instances

Transaction-A
mysql> update innodb_lock set k=66 where id >=6;
Query OK, 1 row affected (0.63 sec)
mysql> commit;
 
Transaction-B
mysql> insert into innodb_lock (id,k,v) values(7,'7','7000');
Query OK, 1 row affected (18.99 sec)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer