Maison > base de données > SQL > Quels problèmes peuvent découler des opérations simultanées de base de données ?

Quels problèmes peuvent découler des opérations simultanées de base de données ?

angryTom
Libérer: 2019-07-24 15:17:01
original
10820 Les gens l'ont consulté

Quels problèmes peuvent découler des opérations simultanées de base de données ?

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal