Tutoriel recommandé : Tutoriel SQL
Qu'est-ce qu'un base de données Opérations simultanées
La base de données est une ressource partagée qui peut être utilisée par plusieurs utilisateurs. Ces programmes utilisateur peuvent être exécutés en série un par un. Un seul programme utilisateur est en cours d'exécution à la fois pour accéder à la base de données. Les autres programmes utilisateur doivent attendre la fin de ce programme utilisateur avant de pouvoir accéder à la base de données. Mais si un programme utilisateur implique l’échange d’entrées/sorties de grandes quantités de données, le système de base de données sera inactif la plupart du temps. Par conséquent, afin d'utiliser pleinement les ressources de la base de données et de tirer parti des caractéristiques des ressources partagées de la base de données, plusieurs utilisateurs doivent être autorisés à accéder à la base de données en parallèle. Cependant, cela entraînera l'accès simultané de plusieurs programmes utilisateur aux mêmes données. Si les opérations simultanées ne sont pas contrôlées, des données incorrectes peuvent être consultées et stockées, détruisant ainsi la cohérence de la base de données. Par conséquent, le système de gestion de base de données doit fournir un mécanisme de contrôle de concurrence. La qualité du mécanisme de contrôle de concurrence est l'un des indicateurs importants pour mesurer les performances d'un système de gestion de base de données .
Problèmes causés par des opérations simultanées de base de données
(1) Mise à jour perdue
Quand deux Quand une ou plusieurs choses lisent et modifient les mêmes données, un problème de perte de mise à jour se produira, c'est-à-dire que le résultat de la mise à jour de la transaction ultérieure est écrasé par la mise à jour de la transaction précédente, c'est-à-dire lorsque les transactions A et B sont simultanées. effectuée, la transaction A a modifié les données mais B a modifié les mêmes données avant qu'elles ne soient soumises (notez que les données à ce moment sont les données pour lesquelles A n'a pas encore soumis la modification), et les modifications de données apportées par A sont perdues
(2) Lecture non répétable
Lorsque deux données lisent certaines données, une autre transaction effectue une mise à jour des données et la transaction en cours lit à nouveau les données (espérons-le la même que la première lecture) (même valeur), les données obtenues sont différentes de la précédente. En effet, après la première lecture des données, la transaction B les a modifiées, provoquant la relecture des données. différent des données lues pour la première fois. Identique à
(3) Lecture des «données sales»
Lorsqu'une transaction modifie certaines données, une autre transaction lit la data.En raison d'une sorte de La raison est que la transaction précédente a annulé la modification des données modifiées et a restauré les données modifiées à leur valeur d'origine. Ensuite, les données lues par cette dernière transaction sont incohérentes avec les données disponibles, ce qui est appelé lecture. données sales
Remarque : il en existe également une appelée "Données fantômes". Les données fantômes sont similaires aux données sales, mais les données fantômes font référence aux données lues après la validation de la transaction, mais la transaction précédente est restauré après lecture, et les données sales Les données font référence aux données lues avant la soumission
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!