Maison  >  Article  >  base de données  >  Introduction aux quatre niveaux d'isolation des transactions de la base de données MySQL

Introduction aux quatre niveaux d'isolation des transactions de la base de données MySQL

不言
不言avant
2019-03-04 15:20:332347parcourir

Cet article vous présente les quatre niveaux d'isolation des transactions de la base de données MySQL. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Familier avec les quatre niveaux d'isolation des transactions de la base de données MySQL :

(Recommandations associées : Tutoriel MySQL)

Interroger le niveau d'isolation des transactions dans MySQL

SELECT @@tx_isolation;

Introduction aux quatre niveaux disolation des transactions de la base de données MySQL

lire non validé (RU) lire non validé :

Dans une transaction, vous pouvez lire les modifications non validées d'autres transactions

lire commit (RC) read commit :

Dans une transaction, les modifications qui ont été validées par d'autres transactions peuvent être lues

lecture répétable, (RR) lecture répétable :

Dans une transaction, jusqu'à la fin de la transaction, les données vues au début de la transaction peuvent être lues à plusieurs reprises sans changer
Le niveau d'isolement par défaut de mysql est RR
La différence entre RR et RC est celle dans une transaction Les données lues dans une table au niveau d'isolement RR sont les mêmes

Transaction A th> Transaction B
commencer
事务A 事务B
begin;
select * from a


insert into a(...)
select * from a
sélectionner * à partir d'un


insérer dans un(...)
sélectionner * dans un

Sous le niveau d'isolement RR : les résultats de la deuxième requête de sélection de la transaction A sont les mêmes, et l'insertion dans la transaction B ne peut pas être vue Les données

sous le niveau d'isolement RC : la deuxième requête de sélection de la transaction A peut voir les données insérées dans la transaction B

sérialisable (lecture en série) :

même s'il est lu à chaque fois, les deux doivent obtenir des verrous partagés au niveau de la table et ajouter des verrous exclusifs au niveau de la table pour chaque écriture. La lecture et l'écriture entre les deux sessions se bloqueront mutuellement.

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