数据库的S锁和X锁,两段锁协议
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁).所谓X锁,是事务T对数据A加上X锁时,只允许事务T读取和修改数据A,...所谓S锁,是事务T对数据A加上S锁时,其他事务只能再对数据A加S锁,而不
千家信息网最后更新 2024年11月22日数据库的S锁和X锁,两段锁协议
基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁).所谓X锁,是事务T对数据A加上X锁时,只允许事务T读取和修改数据A,...所谓S锁,是事务T对数据A加上S锁时,其他事务只能再对数据A加S锁,而不能加X锁,直到T释放A上的S锁。若事务T对数据对象A加了S锁,则T就可以对A进行读取,但不能进行更新(S锁因此又称为读锁),在T释放A上的S锁以前,其他事务可以再对A加S锁,但不能加X锁,从而可以读取A,但不能更新A.
两段锁协议:
数据库的两段锁协议是指所有事务必须分两个阶段对数据项进行加锁和解锁
1.扩展阶段
在对任何数据项的读、写之前,要申请并获得该数据项的封锁。
2.收缩阶段
每个事务中,所有的封锁请求必须先于解锁请求。
例如:事务T遵循两段锁协议,其封锁协议为:
BEGIN TRANSACTION;
LOCK(A);READ A; A := A + 100; WRITE A; LOCK(B); UNLOCK(A); READ(B), UNLOCK(B),;
COMMIT;
可以证明:若并发执行的所有事务均遵守两段锁协议,则对这些并行事务的任何并行调度策略都是可串行化
需要说明的是,并发执行的所有事务若均遵守两段锁协议,只是这些事务的并行调度策略能可串行化的充分条件,不是必要条件。
两段锁协议与防止死锁的一次封锁法的区别:
一次封锁法要求事务必须一次对所有要使用到的数据项进行加锁,否则不能继续运行。
显然,一次封锁法符合两段锁协议,但是两段锁协议并不要求一次就要对所有需要用到的数据项进行加锁,因此遵守两段锁协议的事务有可能死锁
事务
数据
封锁
数据项
阶段
条件
策略
死锁
更新
调度
数据库
必要
必要条件
两个
只是
对象
类型
A.
和解
收缩
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
用于软件开发用什么语言
运营app哪个服务器好
青岛华知网络技术有限公司
中方县医院招聘网络技术
怎么监控服务器上所有请求
服务器内存溢出
华为服务器安装密码
金蝶kis数据库版本
数据库按任务号金额汇总
昆山知名服务器新报价
同济大学网络安全
政法网络安全方案
利用adb清空手机数据库
mysql数据库账号怎么管理
超大关系数据库开发的优缺点
宝可梦良心服务器
周口软件开发学习
广州尔讯网络技术有限公司
软件开发增量模型
长沙信创云服务器
数据库什么时候用updata
医院服务器故障患者投诉医院
锐龙cpu做软件开发怎么样
翻译低错检查软件开发
云服务器空间最小
cnki电子数据库
李玉婷数据库照片
云图软件开发
数据库查询并做排序
计算机3网络技术是什么意思