Maison > Problème commun > Qu'est-ce que la lecture fantôme ?

Qu'est-ce que la lecture fantôme ?

Guanhui
Libérer: 2020-06-11 11:35:50
original
9181 Les gens l'ont consulté

Qu'est-ce que la lecture fantôme ?

Qu'est-ce que la lecture fantôme ?

La lecture fantôme signifie que la transaction A obtient d'abord N éléments de données basés sur l'index conditionnel, puis la transaction B modifie M éléments de données autres que ces N éléments de données ou ajoute M éléments de données qui remplir les conditions de recherche de la transaction A. En conséquence, la transaction A recherche à nouveau et trouve N+M éléments de données, ce qui provoquera des lectures fantômes.

Comment résoudre la lecture fantôme ?

  • Résolu par le verrouillage à clé suivante.

  • La raison de la lecture fantôme est que les verrous de ligne ne peuvent verrouiller que les lignes, mais lors de l'insertion de nouveaux enregistrements, ce qui doit être mis à jour est "l'espace" entre les enregistrements. Par conséquent, afin de résoudre les lectures fantômes, InnoDB introduit des verrous d'espacement.

  • Le verrouillage de l'espacement n'est efficace qu'au niveau de lecture répétable

  • La combinaison du verrouillage de l'espacement et du verrouillage de la rangée est appelée verrouillage de la clé suivante , chaque verrouillage à clé suivante est un intervalle ouvert et fermé.

Parmi les quatre niveaux d'isolement définis dans la base de données,

le niveau d'isolement le plus élevé SERIALIZABLE_READ peut garantir qu'il n'y aura pas de problème de lecture fantôme.

Lecture répétable (RR)

Pour la lecture en cours, le niveau d'isolation RR garantit que l'enregistrement lu est verrouillé (verrouillage de l'enregistrement) et que la plage de lecture est garantie d'être verrouillée . , les nouveaux enregistrements qui répondent aux conditions de requête ne peuvent pas être insérés (verrouillage des espaces) et il n'y a pas de phénomène de lecture fantôme.


Tutoriel recommandé : "Tutoriel MySQL"

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!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
MySQL arrête le processus
Depuis 1970-01-01 08:00:00
0
0
0
Env中mysql
Depuis 1970-01-01 08:00:00
0
0
0
Erreur lors de l'installation de MySQL sous Linux
Depuis 1970-01-01 08:00:00
0
0
0
php - problème de surveillance MySQL
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal