Maison >base de données >tutoriel mysql >Méthodes courantes de classification des bases de données
Méthodes courantes de classification des bases de données
Avec le développement continu d'Internet, les entreprises peuvent utiliser des méthodes qui augmentent également, et aujourd'hui, nous examinerons quelles sont les méthodes courantes de classification des données.
1, Lire non engagé.
signifie qu'une transaction lit le contenu non validé d'une autre transaction. Cette situation doit être évitée. Étant donné que les données non validées d'autres transactions peuvent être annulées à tout moment, les programmes ne doivent à aucun moment être autorisés à lire les données non validées d'une transaction. Si des données non validées provenant d'une autre transaction sont lues, cette situation est appelée lecture sale. Pour résoudre le problème des lectures sales, vous pouvez augmenter le niveau d'isolation des transactions de la base de données et définir le niveau d'isolation des transactions sur lecture validée.
2, Lire Engagé.
Ce niveau d'isolement peut résoudre le problème des lectures sales.
Sous ce niveau d'isolement, l'exécution parallèle entre deux transactions non validées n'est pas autorisée, mais elle permet d'exécuter et de soumettre une autre transaction lors de l'exécution d'une transaction. De cette façon, il y aura une situation dans laquelle les valeurs d'une certaine ligne de données sélectionnées deux fois avant et après une transaction pourront être différentes. La raison du changement de valeur est que la transaction intercalée 2 a effectué une opération de mise à jour sur la ligne de données. Dans la même transaction, le problème des valeurs différentes sélectionnées deux fois est appelé problème de lecture non répétable. Pour résoudre le problème de lecture non répétable, vous devez définir le niveau d'isolement des données sur lecture répétable.
3, peut être lu à plusieurs reprises. Lecture répétable.
Sous ce niveau d'isolement, le problème des lectures non répétables peut être résolu.
Sous ce niveau d'isolement, lorsqu'une transaction utilise les données d'une certaine ligne, les autres transactions ne sont pas autorisées à opérer sur les données de la ligne. Les lectures répétables doivent ajouter des verrous aux lignes de la base de données. Sous ce niveau d'isolement, d'autres transactions sont toujours autorisées à insérer et supprimer des données dans la table, il apparaîtra donc que lors de l'exécution de la transaction 1, si les lignes qui remplissent une certaine condition sont sélectionnées deux fois, si entre ces deux Après la deuxième sélection , une autre transaction est exécutée. Si certaines lignes sont insérées ou supprimées, les résultats des deux sélections qui remplissent les mêmes conditions seront différents. Une sélection semble donc être une illusion. Par conséquent, ce problème a également été résolu. . Pour résoudre le problème de lecture fantôme, vous devez définir le niveau d'isolement de la base de données sur sérialisation.
4. Sérialisation.
La sérialisation peut résoudre le problème de la lecture fantôme.
Cela nécessite que l'exécution des transactions soit entièrement sérialisée. L’efficacité de la concurrence est donc perdue.
Le niveau d'isolement par défaut de Mysql est une lecture répétable.
En bref, le niveau d'isolation des transactions des données est divisé en 4 types, de faible à élevé, elles sont lues non validées, lues validées, lues répétables et sérialisées. Il existe trois problèmes liés au niveau d'isolation des transactions de base de données, à savoir les lectures incorrectes, les lectures non répétables et les lectures fantômes. Le problème de lecture sale doit être résolu par une lecture validée, mais la lecture validée entraînera des problèmes de lecture non reproductibles. Le problème de lecture non répétable doit être résolu avec une lecture répétable, mais une lecture répétable entraînera un problème de lecture fantôme. Le problème de lecture fantôme doit être résolu avec la sérialisation.
Recommander "Tutoriel vidéo 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!