您的位置:首页 >> 数据库 >> MSSQL Server >> 正文
MSSQL Server RSS
 

教你快速掌握共享锁和排他锁的异同之处

http://www.rdxx.com 08年08月19日 00:00 赛迪网 我要投稿

关键词: , 共享

  共享锁(S锁):

  如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。

  排他锁(X锁):

  如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据。

  简要说明为什么会发生死锁?解决死锁的主要方法是什么?

  若干事务相互等待释放封锁,就陷入无限期等待状态,系统就进入死锁

  解决死锁的方法应从预防和解除的两个方面着手:

  (1)死锁的预防方法:①要求每一个事务必须一次封锁所要使用的全部数据(要么全成功,要么全不成功)②规定封锁数据的顺序,所有事务必须按这个顺序实行封锁。

  (2)允许死锁发生,然后解除它,如果发现死锁,则将其中一个代价较小的事物撤消,回滚这个事务,并释放此事务持有的封锁,使其他事务继续运行。

  


 
 
标签: , 共享 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站