问题
单项选择题
若数据A持有事务T1所加的排它锁,那么其他事务对数据A()。
A.加共享锁成功,加排它锁失败
B.加排它锁成功,加共享锁失败
C.加共享锁、加排它锁都成功
D.加共享锁、加排它锁都失败
答案
参考答案:D
解析:
本题考查数据库事务所处理的基础知识。
并发事务如果对数据读出时不加以控制,会破坏事务的隔离性和一致性。控制的手段就是封锁技术,在事务执行时限制其他事务对数据的读取。有两种封锁技术:排它锁(简称X锁)和共享锁(简称S锁)。
·排它锁又称为写锁,用于对数据进行写操作时进行锁写。如果事务T对数据A加上X锁后,就只允许事务T读取和修改数据A,其他事务要等事务T解除X锁以后,才能对数据A实现任何类型的封锁。
·共享锁又称为读锁,用于对数据进行读操作时进行锁定。如果事务T对数据A加上了S锁,那么允许事务T读取数据A,但不可以修改数据A,在所有S锁解除之前不允许任何事务对数据A实现X封锁。