Les opérations simultanées de la base de données entraînent généralement des problèmes de perte de mise à jour, des problèmes d'analyse incohérents et des problèmes de lecture de « données sales ».
Introduction aux points de connaissances pertinents :
La transaction est l'unité de base du contrôle de concurrence.
(Tutoriels associés recommandés : Tutoriel mysql)
Incohérence des données causée par des opérations simultanées
1. Mise à jour)
2. Lecture non répétable (Lecture non répétable)
3. Lecture fantôme (Lecture fantôme)
4. Lire)
Examinons-les séparément :
Modifications perdues : Deux transactions T-1 et T-2 lisent les mêmes données et les modifient, et le résultat du commit de T-2 détruit T Le résultat de la soumission -1 entraîne la perte des modifications de T-1. (Conflit de Modification-Modification)
Lecture non répétable : la transaction 1 lit certaines données, et la transaction 2 les modifie ; lorsque la transaction 1 lit à nouveau les données, elle obtient une valeur différente de la fois précédente (lecture -Mise à jour conflit)
Lecture fantôme : la transaction T-1 lit certains enregistrements de données de la base de données selon certaines conditions, et la transaction T-2 supprime (insère) certains des enregistrements lorsque T-1 appuie à nouveau lors de la lecture des données. dans les mêmes conditions, il a été constaté que certains enregistrements disparaissaient (apparaissaient) mystérieusement. (Conflit lecture-insertion/suppression)
Données sales : la transaction T-1 modifie certaines données et les réécrit sur le disque après que la transaction T-2 ait lu les mêmes données, T-1 pour une raison quelconque. T-1 est révoqué, les données modifiées sont restaurées à leur valeur d'origine et les données lues par T-2 sont incohérentes avec les données de la base de données. Les données lues par T-2 sont des données « sales », c'est-à-dire incorrectes. data. (Modification - Conflit de lecture)
Incohérence des données : Les opérations concurrentes détruisent l'isolement des transactions
Le but du contrôle de concurrence
doit être utilisé. correctement Cette méthode planifie les opérations simultanées afin que l'exécution d'une transaction utilisateur ne soit pas interférée par d'autres transactions, évitant ainsi l'incohérence des données.
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!