Maison  >  Article  >  base de données  >  Comment résoudre la sélection de données obsolètes dans MySQL après les opérations de suppression et d'insertion ?

Comment résoudre la sélection de données obsolètes dans MySQL après les opérations de suppression et d'insertion ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-27 06:29:17982parcourir

How to Resolve Stale Data Selection in MySQL After Delete and Insert Operations?

MySQL : Récupération à partir d'une sélection de données périmées après suppression et insertion

Dans les applications Web WSGI multithread utilisant MySQL, la gestion de session peut parfois rencontrer incohérences, où les sessions supprimées sont toujours renvoyées dans les requêtes sélectionnées.

Ce comportement provient du niveau d'isolement par défaut de MySQL, "LECTURE RÉPÉTABLE." Ce niveau garantit que les transactions ne sont pas affectées par les modifications apportées après leur lancement, que ces modifications aient été ou non validées. Ainsi, d'autres connexions continuent de récupérer les anciennes données de session même après l'insertion d'une nouvelle session.

Pour résoudre ce problème, considérez ce qui suit :

  • Terminer la transaction : Émettez des commandes COMMIT ou ROLLBACK dans les sessions concernées pour conclure les transactions persistantes et leur permettre d'observer la base de données la plus récente état.
  • Modifier le niveau d'isolement : Modifiez le niveau d'isolement en "READ COMMITTED" pour les sessions concernées. Ce niveau permet aux données nouvellement validées d'être visibles pour les requêtes ultérieures au sein de la même transaction.

En mettant en œuvre l'une ou l'autre approche, les connexions ne devraient plus sélectionner de données obsolètes et refléteront l'état actuel de la base de 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!

Déclaration:
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