Serrures se produisent sur le serveur IBM DB2 chaque fois que vous effectuez une requête, insérer , mettre à jour ou supprimer. Les tableaux ont un paramètre " LOCKSIZE " pouvant affecter verrouillage. Le réglage de la table des " LOCKSIZE ANY" permet à DB2 pour choisir la taille de la serrure , l'acquisition habituellement les verrous de page . Les requêtes SQL peuvent affecter blocage par la fixation d'un " niveau d'isolation » au début de la transaction. Même quand il accorde une serrure spécifique , DB2 peut favoriser ou aggraver le blocage , par conséquent, vous devez comprendre comment DB2 gère blocage lors de l'écriture des applications de base de données . Les programmeurs peuvent définir le niveau de verrouillage pour améliorer les performances de base de données avec la commande "LOCK TABLE" , cependant. Instructions
1
verrouiller la table tout en mode partagé ou mode exclusif. Exécuter "LOCK TABLE myTable en mode exclusif " (remplacez " myTable " avec le nom de la table DB2 ) pour maintenir le verrou sur l'ensemble du tableau jusqu'à ce que la transaction soit terminée. Ce mode empêche d'autres utilisateurs d'accéder à la table jusqu'à ce que vous relâchiez le verrou.
2
Exécuter " LOCK TABLE myTable IN SHARE MODE " pour permettre accès en lecture seule à la table lors de la transaction . Ce mode conserve les données cohérente tout en permettant aux utilisateurs de visualiser cela . La commande "LOCK TABLE" peut améliorer les performances et éviter les " DEADLOCKS " en créant un verrou sur la table entière au lieu de plusieurs verrous sur les lignes individuelles.
3
Libérez le verrou en utilisant " RELEASE ( COMMIT ) "ou" RELEASE ( COMMIT ) PRESSE ( DEALLOCATE ) "--- vos deux options lorsque vous exécutez le " LOCK TABLE " déclaration SQL statique. " " va libérer le verrou après l'exécution d'un " COMMIT " . " RELEASE ( DEALLOCATE ) " va libérer le verrou lorsque l'application se termine .
4
Libérez le verrou lorsque vous exécutez l'instruction " LOCK TABLE " comme SQL dynamique avec « RELEASE ( COMMIT ) " . Si vous utilisez la mise en cache , DB2 garde déclarations préparées dans la mémoire après un " commit" et, par conséquent , vous devez libérer la serrure ou exécuter un "commit " après les déclarations préparées ne sont plus en mémoire pour libérer le verrou
< br . >