数据库的S锁和X锁,两段锁协议
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁).所谓X锁,是事务T对数据A加上X锁时,只允许事务T读取和修改数据A,...所谓S锁,是事务T对数据A加上S锁时,其他事务只能再对数据A加S锁,而不
千家信息网最后更新 2025年01月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安全错误
数据库的锁怎样保障安全
数据库在生活有哪些具体应用
若依数据库密码加密
网络技术工程师博主
数据库人员工资
看门狗3无法与服务器连接
软件开发新课堂 c 视频
数据库的作用组织数据库
明日之后藏宝阁支持什么服务器
惠普服务器有几个网口
网络安全 处理三人
潮州专业软件开发价目表
提升图书馆管理和服务器
小程序云开发数据库倒序
c#条件查询数据库
jsp连接数据库心得
翻样算尺软件开发
银行软件开发武汉
网络安全有关的材料
日志文件存数据库
老板如何管理软件开发
空间地理数据库建模案例
软件开发文档什么时候编写
剑灵 服务器维护中
网络安全小课堂怎么开课
工业控制网络技术研究的意义
软件开发一般出差是做什么
数据库查询数统计
jsp连接数据库心得
网吧服务器管理技巧
战斗模拟器数据库