optimisation mysql - problème de verrouillage de table mysql innodb
淡淡烟草味
淡淡烟草味 2017-05-24 11:32:59
0
2
666

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 ?

淡淡烟草味
淡淡烟草味

répondre à tous(2)
曾经蜡笔没有小新

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.

習慣沉默

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal