没有合适的资源?快使用搜索试试~ 我知道了~
内容概要:数据库事务并发与事务加锁; 使用场景:本资源主要用于辅助系统分析师的软考; 适用人群:系分备考者、产品、开发、测试等,也适用于有相关知识点学习兴趣的小伙伴; 其他:思维导图的方式介绍知识点,标注重点和示例
资源推荐
资源详情
资源评论
数据库并发控制与封锁
协议
并发控制
事务
由一系列的操作组成
特性
原子性 事务包含的操作,要么全做,要么全不做
一致性
事务发生后数据一致,也就是说不会出现发出的
请求,对方没收到的情况
隔离性 事务之间互不干涉
持续性 事务操作的结果是持续的
常考
并发控制
控制不同事务并发执行
常见问题
丢失更新
两个事务对同一个数据同时读取,修改时,其中
一个事务修改并写回的数据,被另一事务写回的
数据覆盖,从而丢失了更新
不可重复读
事务1读取一个数据,然后事务2读取写回了同一
个数据,事务1再读该数据,造成事务1两次读的
同一个数据不一致
读脏数据
事务1对数据修改写回后,事务2读该数据,然后
事务1回滚了,造成事务2读到脏数据
常考
封锁协议
X锁
排它锁(写锁)
事务A对数据B加上写锁,则只有事务A可对数据
B进行读写操作,其他事务不能对数据B加任何类
型的锁,直到事务A释放写锁。
S锁
共享锁(读锁)
事务A对数据B加上读锁,则其他事务只能对数据
B加读锁,且这些事务只能进行读操作
三级封锁协议
一级封锁协议
事务再修改数据前,必须先对其加写锁,直到事
务结束才释放
解决:丢失更新问题
二级封锁协议
写锁->读锁等待->写锁释放->读锁释放
一级封锁协议的基础上,事务若要读取数据,必
须先对其加读锁,读完后即可释放。
解决:丢失更新、读脏数据
三级封锁协议
读锁->写锁等待->读锁释放->写锁释放
一级封锁协议前,事务若要读取数据,必须先对
其加读锁,读完后即可释放
解决:丢失更新、度脏数据、数据重复读
概括:读就加读锁,写就加写锁
资源评论
说来世事不如闲~
- 粉丝: 295
- 资源: 32
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功