第二节 封锁
封锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁
后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。封锁
是实现并发控制的一个非常重要的技术。DBMS通常提供了多种类型的封锁。一个事务对某个数据对象加锁后
究竟拥有什么样的控制是由封锁的类型决定的。基本封锁类型:
排它锁( eXclusive lock,简记为X锁), 又称写锁。若事务T对数据对象A加上X锁,则只允许T读取和修
改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。共享锁 (Share lock,简记为S锁),
又称读锁。若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。
基本锁的相容矩阵:
|