Haut de page

Vous êtes ici : Accueil > > Modele de verrouillage

Modele de verrouillage

Pour implémenter une application de base de données à grande échelle, occupée ou hautement fiable, pour porter du code substantiel à partir d`un système de base de données différent, ou pour régler les performances de MySQL, il est important de comprendre le verrouillage InnoDB et le modèle de transaction InnoDB. Le verrouillage peut ne pas être bon pour tous les cas – votre application peut avoir un problème s`il y a une contention de verrou. Un thread peut contenir un verrou et être déprogrammé par le système d`exploitation. Ensuite, tous les threads qui veulent acquérir ce verrou seront bloqués. Une option est d`éviter de verrouiller complètement lorsque cela est possible en utilisant des opérations atomiques. Ces API peuvent être très utiles sur les données fortement contestées. L`état de verrouillage d`un élément de modèle donné est visible dans l`Explorateur de modèles (via l`annotation [verrouillé]), ainsi que dans la barre d`État et la barre d`outils d`édition, comme illustré ci-dessous: les éléments de modèle de haut niveau, tels que le modèle QM entier, les éléments de package, les éléments de répertoire et les éléments de fichier peuvent être verrouillé individuellement pour l`édition, ce qui est très utile pour explorer ou réviser le modèle sans risquer de modifier par inadvertance les éléments verrouillés. Le mode verrouillé vous permet d`explorer et de réviser facilement le modèle sans risquer de changer le modèle par inadvertance. Toutefois, vous pouvez toujours modifier l`élément actuel affiché par tous les QM™ en cliquant sur n`importe quel élément dans le diagramme ainsi que dans l`Explorateur de modèles. Vous pouvez également exporter les formes sélectionnées dans le diagramme dans un format graphique (EMF ou PNG). Pour vous rappeler que vous êtes en mode verrouillé, le diagramme montre un curseur de la souris avec le cadenas.

Cette section aborde plusieurs sujets liés au verrouillage InnoDB et au modèle de transaction InnoDB avec lequel vous devez être familier. ormActive Recordlockinglaraveleloquentpessimiste lockmodel Lock section 14.7.1, «InnoDB Locking» décrit les types de verrous utilisés par InnoDB. Cela ajoute la barre figer à l`arborescence de conception dans le gestionnaire de fonctionnalités. Vous pouvez verrouiller l`élément actuel avec le menu contextuel dans l`Explorateur de modèles (voir la capture d`écran ci-dessous), ainsi que le menu Edit-> Lock ou en appuyant sur le bouton Verrouiller () dans la barre d`outils modifier tandis que l`élément est sélectionné comme élément actuel… L`inconvénient du verrouillage pessimiste est qu`une ressource est verrouillée à partir du moment où elle est d`abord accessible dans une transaction jusqu`à ce que la transaction est terminée, rendant inaccessible à d`autres transactions pendant ce temps. Si la plupart des transactions regardent simplement la ressource et ne changent jamais, un verrou exclusif peut être Overkill car il peut causer la contention de verrou, et le verrouillage optimiste peut être une meilleure approche.