封锁
11.2.1 什么是封锁
封锁就是事务T在对某个数据对象(例如表、记录)操作之前,先向系统发出请求,对其加锁
加锁后事务T就对该数据对象又一定的控制,在事务T释放他的锁之前,其他事务不能更新此数据对象
封锁是实现并发控制的一个非常重要的技术
一个事务对某个数据对象加锁后拥有怎样的控制由封锁的类型来决定
基本封锁类型
排他锁(X锁)
共享锁(S锁)
1.排他锁(X锁)
若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事物都不能再对A加任何类型的锁,直到T释放A上的锁
保证其他事物再T释放A上的锁之前不能再读取和修改A
写锁
2.共享锁(S锁)
若事物T对数据对象加了S锁