码迷,mamicode.com
首页 > 其他好文 > 详细

共享锁与排他锁

时间:2014-12-17 12:33:31      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:sp   数据   bs   nbsp   数据库   方法   不能   需要   事务   

共享锁(S锁):如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。

获准共享锁的事务职能读取数据,不能修改数据。

排他锁(X锁):如果事务T对数据A加上排他锁后,则其他事务不能在对A加任何类型的封锁。

获准排他锁的事务既能读取数据,也能修改数据。

 

数据库死锁的原因:若干事务相互等待对方释放封锁,就陷入了无限期等待状态,系统进入死锁。

 

预防数据库死锁的方法:1、要求一个事务必须一次性封锁所需要的所有数据(要么全成功,要么全部成功)

 2、规定封锁数据的顺序,所有事务必须按照这个顺序实行封锁

 

解除数据库死锁的方法:允许死锁发生,然后解除它,如果发现死锁,则将其中一个代价较小的事务撤销,回滚这个事务,并释放此事务持有的封锁,使其他事务继续进行。

 

共享锁与排他锁

标签:sp   数据   bs   nbsp   数据库   方法   不能   需要   事务   

原文地址:http://www.cnblogs.com/fvsfvs123/p/4168971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!