封锁协议

作者: 柳蒿 | 来源:发表于2019-10-17 10:14 被阅读0次

MySQL的锁系统:shared lock和exclusive lock(共享锁和排他锁,也叫读锁和写锁,即read lock和write lock
X锁:共享锁
S锁:排他锁

一级封锁协议

一级封锁协议是:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)。
一级封锁协议可以防止丢失修改,并保证事务T是可恢复的。使用一级封锁协议可以解决丢失修改问题。 
在一级封锁协议中,如果仅仅是读数据不对其进行修改,是不需要加锁的,它不能保证可重复读和不读“脏”数据。

二级封锁协议

二级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后方可释放S锁。
二级封锁协议除防止了丢失修改,还可以进一步防止读“脏”数据。但在二级封锁协议中,由于读完数据后即可释放S锁,所以它不能保证可重复读。

三级封锁协议

三级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。

相关文章

  • 封锁协议

    MySQL的锁系统:shared lock和exclusive lock(共享锁和排他锁,也叫读锁和写锁,即rea...

  • 基础3 封锁协议

    在运用X锁和S锁对数据对象加锁时,还需要约定一些规则 ,例如何时申请X锁或S锁、持锁时间、何时释放等。称这些规则为...

  • 系统原理-封锁

    封锁的类型以及粒度,两段锁协议,隐式和显示锁定。 一、封锁粒度 MySQL 中提供了两种封锁粒度: 行级锁 表级锁...

  • 三级封锁协议

    锁的类型:基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁)X锁,是事务T对数据A加上X锁时,只允许事务T读取和...

  • mysql事务/事务隔离级别/封锁协议

    1.事务的四大特性(ACID)1)原子性一个事务中的操作要么全部都做,要么全部都不做mysql通过undo log...

  • 数据库三级封锁协议

    转自:https://baike.baidu.com/item/%E4%B8%89%E7%BA%A7%E5%8A%...

  • 数据库事务隔离级别

    1.读未提交(read uncommit) 一级封锁协议(读取数据的时候不加锁,更新的时候整个加X锁) b事物执行...

  • 封锁

    请问 通往你内心的道路 怎么走 不知道 它一生都在维修

  • 封锁

    要不是掌握了自我赦免的法宝 我们凭什么替上帝编造真理 口吐莲花 还曾派一场雪来封锁消息

  • 封锁

    很奇怪明明很累,步行上班听着上官文露的读书分享会很惬意,今日听张爱玲的《封锁》在上海封锁的公车上两个陌生人吴翠远和...

网友评论

    本文标题:封锁协议

    本文链接:https://www.haomeiwen.com/subject/pkojmctx.html