Next: Les verrous de table
Up: Les transactions et les
Previous: Les accès concurrents
Pour le moment, on reste dans le principe
- une écriture ne bloque pas une lecture
- une lecture ne bloque pas une écriture
Pas toujours satisfaisant...
- DROP TABLE ne peut pas être exécuté en
concurrence avec d'autres opérations;
- base bibliothèque procédure d'exclusion du prêt pour les
livres dont on possède
plus de 5 exemplaires;
On ajoute des verrous, implicitement ou explicitement, sur les tables
ou les enregistrements.
- un verrou peut être posé implicitement (par un ordre SQL)
- ou explicitement (ordre LOCK TABLE [IN
verrou_modeMODE])
- un verrou est acquis jusqu'à la fin de la transaction
(limitation Postgres)
- deux types de verrous : sur une table complète, ou sur des
enregistrements d'une table
- hiérarchie sur les verrous (de très contraignant à très
permissif)
- la priorité sur les verrous est donnée suivant leur ordre
chronologique
- les noms sont historiques !
- clé :
- exclusive : empêche le même type de verrou d'être
posé en même temps;
- share : accepte la pose d'un même type de verrou
Next: Les verrous de table
Up: Les transactions et les
Previous: Les accès concurrents
Anne Parrain
2005-11-29