MySQL

您所在的位置:网站首页 数据库中采用封锁技术的目的 MySQL

MySQL

2024-07-13 10:07| 来源: 网络整理| 查看: 265

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 1、若事务T对数据R已加X锁,则其它事务对R不能加任何锁 2、若事务T对数据R已加S锁,则其它事务对R可以加S锁不能加X锁 3、若事务T对数据M已加S锁,在不改变S锁的情况下,则其它事务对数据M可以读,但不可以写 4、可串行化调度一定是正确的并行调度,但正确的并行调度,却未必都是可串行化的调度(可串行化—>正确的并行调度) 5、封锁的方法可能引起【活锁】和【死锁】等问题 两段封锁协议是可以保证冲突可串行性的 两阶段封锁法是可串行化的并行调度算法 两阶段封锁法一定能够保证数据更新的一致性 并发调度的正确性 ⊇ 可串行性 ⊇ 冲突可串行性 【冲突可串行化调度】是【可串行化调度】的充分条件 事务遵循【两段锁协议】是【可串行化调度】的充分条件 ×只要对数据项加锁,就能保证数据更新的一致性 × 两阶段封锁法不会产生死锁现象 6、若要使事务的执行是可恢复的,则对有写有求的数据对象加排他锁后,须在该事务提交时刻解锁才能保证可恢复性。 7、解决并发操作带来的数据不一致问题普遍采用【封锁】技术 8、【死锁】不属于并发操作带来的问题 9、DBMS普遍采用【封锁】方法来保证调度的正确性 10、在数据库系统中,死锁属于【事务故障】 11、并发操作可能会导致:丢失修改、不可重复读、读脏数据 12、若事务T对数据对象A加上X锁,则【只允许T读取和修改A,其他任何事务都不能在对A加任何类型的锁】 13、若事务T对数据对象A加上S锁,则【事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁】 1级可以防止丢失修改 2级防止丢失修改和脏读 3级防止丢失修改,脏读和不允许重复读 14、数据库系统必须提供的数据控制功能【安全性、完整性、并发控制】 15、多用户数据库系统的目标之一是使它的每个用户好像正在使用一个单用户数据库,为此数据库系统必须进行【并发控制】 16、幻影现象属于哪类数据不一致性【不可重复读】

17、【事务】是并发控制的基本单位 18、数据不一致性:由于【并发操作破坏了事务的隔离性】 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 并发调度的正确性: 当且仅当在这个并发调度下所得到的新数据库结果与分别串行地运行这些事务所得到的新数据库完全一致,则说调度是正确的

判断一个调度是否是正确的 ,有三种方法,一是串行调度,二是可串行化调度,三是冲突可串行化调度

可串行性: 不管数据库初始状态如何,一个调度对数据库状态的影响都和某个串行调度``相同,则我们说这个调度是可串行化的 / 具有可串行性 在这里插入图片描述 冲突可串行化的调度: 一个调度,如果通过交换相邻两个无冲突的操作能够转换到某一个串行的调度,则称此调度为冲突可串行化的调度 (不同事务写的不同的元素,是可以交换的) 在这里插入图片描述 在这里插入图片描述 两段锁协议:是先把需要的锁一个一个申请,之后再把锁一个一个地释放

在这里插入图片描述 在这里插入图片描述 选项B中的事务T2不符合两段锁协议 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3