数据库事务调度大题详解

知识点:

事务调度的准则:

(1)一组事物的调度满足:包含所有事物的操作指令,且指令顺序不变

(2)并行调度必须保证:可串行化,将所有可能的串行调度结果推演一遍,对于某个具体的并行调度再执行一遍,看看结果是否相同        实质就是给俩调度T1,T2,先看T1 - T2和T2 - T1的结果,再看题目中给出的结果,比较是否相同

封锁:

X锁(排他锁),某事物对数据对象上锁后,可读可改,其他事物不能碰这个对象了

S锁(共享锁),某事物对数据对象上锁后,可读不可改,其他事物可添S,不能添X

表示方法:上锁Slock()释放锁Unlock()  看题目写

封锁协议

一级:写前加写锁,事物结束释放写锁,防止丢失修改

二级:写前加写锁,读前加读锁,读完释放读锁,事物结束释放写锁,防止丢失修改和读脏数据

三级:写前加写锁,读前加读锁,事务结束释放各锁,防止丢失修改,读脏数据,不可重复读

只要遵循三级封锁协议,无论事物如何交叉并行,都是可串行化的调度

两段锁协议:要加锁就一直加,要释放就一直释放

调度的结果如下:

不满足可串行化,因此调度方法不正确

看执行顺序,不能就等待,我们先给T1的X上锁,然后给T2的X上锁,后续T2的X由于没解锁,因此需要等待,可画出图像

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值