recherche

Maison  >  Questions et réponses  >  le corps du texte

optimisation mysql - problème de verrouillage de table mysql innodb

Après les tests, j'ai découvert que les situations suivantes entraîneraient le verrouillage de la table
1.j'aime
2.mettre à jour, supprimer les opérations inconditionnelles
3.mettre à jour, supprimer les opérations conditionnelles mais pas les opérations de clé primaire
Non peu importe que la sélection soit conditionnelle ou inconditionnelle, que la condition soit une clé primaire ou un index, la table ne sera pas verrouillée. Est-ce correct ? Y a-t-il un problème avec mon test ?

淡淡烟草味淡淡烟草味2737 Il y a quelques jours651

répondre à tous(2)je répondrai

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-24 11:34:59

    select peut spécifier différents niveaux de verrous tels que des verrous partagés, des verrous exclusifs, etc., tels que select ... FOR UPDATE.
    Quant à savoir pourquoi les verrous sont nécessaires, voici un exemple simple. Par exemple, si vous avez un document qui hérite du document précédent, vous pouvez choisir d'ajouter un verrou en lecture et de verrouiller le document précédent pour empêcher les autres de le modifier. le document précédent avant de le soumettre. Le document a été modifié, ce qui a entraîné une incohérence des données.

    répondre
    0
  • 習慣沉默

    習慣沉默2017-05-24 11:34:59

    Tant que la condition ne contient pas la clé primaire, ou contient la clé primaire mais n'est pas un signe égal ou IN, la table entière sera verrouillée, ce qui inclut les trois situations de la question.

    Qu'il s'agisse de verrouiller la table entière ou de verrouiller quelques lignes, sélectionnez l'ajout de verrous en lecture, puis mettez à jour et supprimez l'ajout de verrous en écriture. Quant à ce que sont les verrous en lecture et en écriture, vous pouvez les rechercher sur Google. Pour les détails, vous pouvez également consulter Transaction Isolation Level, que je n'aborderai pas ici.

    répondre
    0
  • Annulerrépondre