数据库原理第十一章知识点

11.1并发控制概述

11.1.1多事务执行方式

  1. 事务串行执行
  2. 交叉并发执行
  3. 同时并发执行

11.1.2并发控制机制的任务

  • 对并发操作进行正确调度
  • 保证事务的隔离性
  • 保证数据库的一致性

11.1.3并发操作带来的数据不一致性

  1. 丢失修改( Lost Update)
  2. 不可重复读( Non-repeatable Read)
  3. 读“脏”数据( Dirty Read)

丢失修改(写—写)

两个事务T1和T2读入同一数据并修改,T2的提交结果破坏了T1提交的结果,导致T1的修改被丢失。

不可重复读(读—更新)

不可重复读是指事务T读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。
包括三种情况:

  1. 读—修改
  2. 读—删除
  3. 读—插入

读“脏”数据

事务T1修改某一数据,并将其写回磁盘事务,T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,T2读到的数据就为“脏”数据,即不正确的数据

操作不一致性

并发操作破坏了事务的隔离性

11.1.4并发控制的主要技术

  • 封锁( Locking)
  • 时间戳( Timestamp)
  • 乐观控制法
  • 多版本并发控制(MVCC)

11.2封锁

11.2.1什么是封锁

  • 封锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁
  • 加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。

11.2.2基本封锁类型

  • 排它锁( Exclusive locks,简记为X锁)
  • 共享锁( Share locks,简记为S锁)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值