首页 > 试题广场 >

若事务 T 对数据 R 已加 X 锁,则其他事务对数据 R(

[单选题]
若事务 T 对数据 R 已加 X 锁,则其他事务对数据 R(  )。
  • 可以加 S 锁不能加 X 锁
  • 不能加 S 锁可以加 X 锁
  • 可以加 S 锁也可以加 X 锁
  • 不能加任何锁
数据库管理系统对事务的并发执行进行控制,以保证数据库一致性,最常用的方法是封锁的方法,即当一个事务访问某个数据项时,以一定的方式锁住该数据项,从而限制其他事务对该数据项的访问。最基本的加锁方式有共享锁和排他锁,若事务T对数据R已加排他锁,则其他事务对R不能再加任何锁。
编辑于 2017-09-05 10:32:44 回复(0)

共享锁【S锁】

又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。常见的操作就是SELECT,在进行该操作时其他事务只能读不能写。

排他锁【X锁】

又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。常见的操作有INSERT、DELETE、UPDATE,在进行该操作时其他事务既不能读也不能写。

发表于 2019-10-02 19:18:20 回复(0)